2つのテーブルがあります。
テーブルA(id、title、department)
1, title 1 , 1
2, title 2 , 1
3, title 3 , 2
テーブルB(uid、mid、is_active)
1, 1, 1
2, 1, 1
3, 3, 1
そして、これが私のクエリステートメントです:
$this->db->select(" id, title ")
->select(' count( B.uid ) AS B_count ')
//->select(' IFNULL( COUNT( `B.uid`), 0) AS B_count ', false)
//->select( " IFNULL( COUNT(DISTINCT B.uid) AS B_count , 0 )" )
->join( 'B', ' B.mid = A.id ' , 'left')
->where('department', 1 )
->where('B.is_active' , 1 )
->limit( $limit, $offset );
$this->db->group_by( array("B.mid") );
return $this->get_all();
そして、私はこのような結果を期待しています
id、title、B_count
1, title 1, 2
2, title 2, 0
ただし、最初のレコードのみを取得でき、2番目のレコードは取得できません。そして、私はすでにIFNULL関数を試し、結合テーブルを残しました。本当に問題を解決する方法がわかりません。誰かが解決策や問題が何であるかを知っていますか?前もって感謝します。