选择在另一个表中找不到的字段值

时间:2015-03-09 07:30:32

标签: mysql

我需要一个查询,该查询应该会产生另一个表中找不到的字段。让我们说,

表1:

comp    col1    col2    col3   col4
----------------------------------
nam1      1       1       b      c
nam2      0       0       abc    c
nam3      1       1       a      c
nam4      1       1       b      c
nam5      0       0       c      c

表2:

name     col1    col2
----------------------
b          3       f
a          4       f
c          5       f

结果:

comp  col3   col4
----------------------
nam2   abc     c

结果基于第一个表上的col3,col1=0,col2=0和第二个表中的名称...在表2中找不到... ...

提前感谢。

2 个答案:

答案 0 :(得分:1)

问题不是很明确,但如果我理解正确,您希望选择table1 col1col2均为0的所有行,{{1} } {未包含在col3的名称列中。如果是这样,您的查询应该足够简单:

table2

答案 1 :(得分:1)

根据说明,table1和table2之间的连接键是

table1.col3 = table2.name 

使用此功能,您可以使用以下查询

select 
t1.comp,
t1.col3,
t1.col4
from table1 t1
left join table2 t2 on t2.name = t1.col3
where t2.name is null