mysql - 应返回多个的单个数组

标签 mysql sql codeigniter codeigniter-2

phpmyadmin 中的以下查询根据我的需要返回具有三个不同条目 ID 的三列 (entry_id)。

SELECT sub_1.entry_id, sub_2.entry_id, sub_3.entry_id
FROM exp_judging_portfolios AS jud
LEFT JOIN exp_submissions AS sub_1 ON sub_1.id = jud.rel_id_1
LEFT JOIN exp_submissions AS sub_2 ON sub_2.id = jud.rel_id_2
LEFT JOIN exp_submissions AS sub_3 ON sub_3.id = jud.rel_id_3
WHERE sub_1.member_group = $member_group
AND jud.pre = 1
GROUP BY jud.rel_id_1

但是,当我在页面中返回结果时,我得到一个仅包含一个条目 id 的数组。

这是我用来生成结果的代码

$sql = "
    SELECT sub_1.entry_id, sub_2.entry_id, sub_3.entry_id
    FROM exp_judging_portfolios AS jud
    LEFT JOIN exp_submissions AS sub_1 ON sub_1.id = jud.rel_id_1
    LEFT JOIN exp_submissions AS sub_2 ON sub_2.id = jud.rel_id_2
    LEFT JOIN exp_submissions AS sub_3 ON sub_3.id = jud.rel_id_3
    WHERE sub_1.member_group = $member_group
    AND jud.pre = 1
    GROUP BY jud.rel_id_1
";
    $query = $this->EE->db->query($sql);
    $submissions_portfolio = $query->result_array();    

print_r($submissions_portfolio);   

这是返回的内容:

Array ( [0] => 354 ) 

有人知道为什么吗?如果是这样,如何返回所有 3 个条目 id?

最佳答案

这次您只得到一个结果的原因是,所有 3 个选定的 id 都具有相同的别名 entry_id。它们最终会互相覆盖。

您应该尝试以不同的方式命名它们:

选择 sub_1.entry_id AS id_1、sub_2.entry_id AS id_2、sub_3.entry_id AS id_3

关于mysql - 应返回多个的单个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19154350/

相关文章:

php - 以数字形式列出 SELECT * 语句的结果并选择最小的数字

php - MySQL 日期比较建议

sql - 如何使用java检索sql表及其所有数据

php - Codeigniter 从 HTML 电子邮件中剥离字符

php - 使用分页在页面上创建评论的永久链接

sql - 比较两个表,如果不存在更新或插入

Java Spring REST API 处理许多可选参数

sql - 执行一堆配置单元查询(构建 DAG)

mysql - 当其他表可以使用联接连接时,在单个表中拥有多个外键是好还是坏?

php - 有没有使用框架的大型网站?