我有两张桌子。
表 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
但是我只能得到第一条记录,而没有第二条记录。而且我已经尝试过 IFNULL 函数并离开了连接表。真的不知道如何解决这个问题。有谁知道解决方案或问题是什么?提前致谢。