Mysql在codeigniter中不存在左连接

mrwjdhj3  于 2023-03-22  发布在  Mysql
关注(0)|答案(1)|浏览(101)

我有两张table

tablea
id_a | name_a
-------------
  1  | one
  2  | two
  3  | three
  4  | four
  5  | five
  6  | six

tableb
id_b | name_b
-------------
  1  | a
  2  | b

想要的结果是

id_a | id_b | name_b
----------------------------
  1  |  1   |  a
  2  |  2   |  b
  3  | null | null
  4  | null | null
  5  | null | null
  6  | null | null

在表中我想转换这个mysql查询

SELECT * FROM tablea
WHERE NOT EXISTS (SELECT * FROM tableb WHERE tableb.`id_b`=tablea.`id_a`)

进入codeigniter查询
我尝试使用此查询,但不起作用

$this->db->join('tableb', 'tableb.id_ab=tablea.id_a','left'); 
$q = $this->db->get_where('tabela',array('tableb.id_b !='=> 4));
return $q->result_array();

我以查找一个不是4的id(id_B)为例,当然它不在表b中,结果为null
请帮帮我,谢谢

ws51t4hk

ws51t4hk1#

您也可以使用CodeIgniter db query。

$this->db->query('
     SELECT tableA.id_a,
            tableB.id_b,
            tableB.name_b
     FROM tableA
     LEFT JOIN tableB ON tableB.id_b = tableA.id_a
     WHERE tableB.id_b != "4" 
     OR tableB.id_b IS NULL)
');

相关问题