如何获取table_2中不在table_2中的id
我的桌子看起来像这种类型
的 TABLE_1
---------------------------------------------
| id | user |
---------------------------------------------
| 1 | Jack |
---------------------------------------------
| 2 | John |
---------------------------------------------
TABLE_2
------------------------------------------
| web_id | website |
------------------------------------------
| 2 | Facebook |
------------------------------------------
| 3 | Google+ |
------------------------------------------
我想 codeigniter 查询
$this->db->select("*");
$this->db->from("table_1");
$this->db->where_not_in('id', "table_2.web_id");
return $this->db->get();
答案 0 :(得分:2)
试试这个
SELECT id
FROM table_1
WHERE id NOT IN
(
SELECT web_id FROM table_2 WHERE 1
);
使用CodeIgniter Active记录查询将如下
$this->db->select('*');
$this->db->where('id NOT IN (SELECT web_id FROM table_2 WHERE 1)', NULL, FALSE);
$query = $this->db->get('table_1');
答案 1 :(得分:0)
这样的事情会这样做(取决于你使用的SQL的风格,你可能需要稍微调整语法):
SELECT id
FROM table_1
WHERE id NOT IN (SELECT web_id FROM table_2)
但是,我没看到这是什么用途。这两个表之间没有可识别的链接,因此知道table_1中id
为1,但table_2中没有web_id
1,这似乎不是一个有用的信息。
答案 2 :(得分:0)
select t1.id
from table_1 t1
left join table_2 t2 on t1.id = t2.web_id
where t2.web_id is null