Mysql 选择在其他表中找不到的字段值
我需要一个查询,该查询将导致在另一个表中找不到的字段。比方说 表1: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
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