Mysql从其他表中获取缺失值

时间:2017-08-22 08:55:50

标签: mysql

我有下面的查询,它会给我两个表中的ID。

SELECT DISTINCT IP.id 
FROM `table2` IR LEFT JOIN 
(SELECT id 
 FROM table1 
 WHERE item='xyz' 
 ORDER BY Id limit 728,91
) 
AS IP on IP.id = IR.id 
where IR.item='xyz' 
AND IR.idr='2295'

现在我需要表2中存在的缺少的ID,它存在于表1中。

1 个答案:

答案 0 :(得分:1)

你需要一个反向运作的外连接。此外,您不需要子查询。以下查询将返回table1中具有所需item值且table2中具有相同id的记录的item中的idr个某些select distinct ip.id from table1 ip left join table2 ir on ir.id = ip.id and ir.item = 'xyz' and ir.idr = '2295' where ip.item = 'xyz' and ir.id is null order by ip.id limit 728, 91 id值。

table1

注意:如果您还要添加table2table2中存在的{{1}}值(具有给定条件),则没有理由(外部)加入{{1}}。