Mysql 选择在其他表中找不到的字段值

Mysql 选择在其他表中找不到的字段值,mysql,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

我需要一个查询,该查询将导致在另一个表中找不到的字段。比方说

表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
name     col1    col2
----------------------
b          3       f
a          4       f
c          5       f
comp  col3   col4
----------------------
nam2   abc     c
表2:

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
name     col1    col2
----------------------
b          3       f
a          4       f
c          5       f
comp  col3   col4
----------------------
nam2   abc     c
结果:

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
name     col1    col2
----------------------
b          3       f
a          4       f
c          5       f
comp  col3   col4
----------------------
nam2   abc     c
结果基于第一个表上的
col3,col1=0,col2=0
,第二个表中的名称..表2中未找到abc


提前谢谢。

问题不太清楚,但如果我理解正确,您希望从
table1
中选择所有行,其中
col1
col2
均为0,并且
col3
不包含在
table2
的名称列中。如果是这样,您的查询应该足够简单:

SELECT comp, col3, col4
  FROM table1
 WHERE col1 = 0
   AND col2 = 0
   AND col3 NOT IN (SELECT name FROM table2);

根据说明,表1和表2之间的连接键为

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