需要选择另一个表中不存在的数据

时间:2015-01-29 14:42:28

标签: mysql sql-server sql-server-2008 exists

有2张桌子。表1的id在表2中有多个条目。我需要选择一个没有特定记录的id(在表2中的多个记录中,只有一行不应该存在)。请告诉我怎么做。

例如:

Table 1       Table 2
A             A 2
B             A 3
C             B 2
              B 3
              C 3

现在我需要从表1中选择与表2中包含值2的行无关的行。(即应选择C)

2 个答案:

答案 0 :(得分:0)

以下sql从table1中排除行,其中表2中的相应行具有值为2的列(要排除的值)

SELECT t1.col1
FROM Table1 t1
WHERE NOT EXISTS (SELECT t2.col2  From Table2 t2 WHERE t2.col1 = t1.col1 and t2.col2 =2)

答案 1 :(得分:0)

你可以试试这样的事情

select t1.*
from table1 as t1
left join table2 as t2 on (t1.col1 = t2.col1)
where t2.col2 is null