在计算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”。
代码有什么问题?任何帮助表示赞赏!