У меня проблема с подсчетом строк, объединенных в 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"}]
Приведенный выше код работает без каких-либо ошибок.Основная проблема здесь заключается в том, что результат показывает только 2 строки из таблицы matches
, вместо этого он должен показывать 4 с total_entries
"0" в других строках.
Что не так с кодом?Любая помощь приветствуется!