SQL COUNT&JOIN的Codeigniter问题

时间:2019-02-27 08:43:02

标签: mysql codeigniter-3

在计算SQL(最新版本)中联接的行时遇到问题。

我的主表说matches

id     match_name

1      match 1
2      match 2
3      match 3
4      match 4

我还有另一个表match_entries

id    user_id    match_id    registration_success

1     56         1          true
2     29         1          true
3     24         1          true

我的要求是显示所有匹配项以及每个匹配项下注册的条目数。 我的SQL代码是:

    $this->db->select('m.id, count(e.id) AS total_entries'); 
    $this->db->from('matches m'); 
    $this->db->join('match_entries e', "m.id=e.match_id",'LEFT'); 
    $this->db->group_by('e.match_id');
    $this->db->order_by('m.id', 'ASC');
    $query = $this->db->get(); 
    $row = $query->result();

    if (empty($row))
        return FALSE;
    return $row;

我得到的结果

[{"id":"1","total_entries":"3"},{"id":"2","total_entries":"0"}]

上面的代码可以正常工作。这里的主要问题是,结果只显示matches表中的2行,而其他行中应该显示4,其中total_entries为“ 0”。

代码有什么问题?任何帮助表示赞赏!

0 个答案:

没有答案