我有以下查询:
$this->db
->select('SQL_CALC_FOUND_ROWS null as rows
,table1.*
,table2.*
,table3.*', FALSE)
->from('table1')
->where('table1.column1', $user_id)
->join('table2', 'table2.column2 = table1.column2')
->join('table3', 'table3.column2 = table1.column2')
->group_by('table1.column2')
->order_by('table1.column2', 'DESC');
$query = $this->db->get();
问题是,表3中可能没有行,如果没有,我仍然希望返回带有剩余查询数据的结果。有人可以建议如何实现这个目标吗?
答案 0 :(得分:1)
你应该在table3上进行左连接
答案 1 :(得分:0)
使用左连接并使用group_by获取准确的记录:
$this->db->join('login_ranknames AS t4', 't4.id = t1.rank', 'left');
$this->db->group_by('t4.id');