Sql 如何在三列中搜索值,但返回的行不';你不能全部匹配吗?

Sql 如何在三列中搜索值,但返回的行不';你不能全部匹配吗?,sql,ms-access-2013,Sql,Ms Access 2013,我有两个表,比如A和B。我希望比较两个表中的三个或更多列,并返回表B中与所有比较列不匹配的任何行 我已经考虑过使用推荐的左连接函数,但还不能完全理解 请帮忙 您可以为此使用左连接或不存在。这里有一种方法: select b.* from tableb as b where not exists (select 1 from tablea as a where a.col1 = b.col1 and a.col2 = b.co

我有两个表,比如A和B。我希望比较两个表中的三个或更多列,并返回表B中与所有比较列不匹配的任何行

我已经考虑过使用推荐的左连接函数,但还不能完全理解


请帮忙

您可以为此使用
左连接
不存在
。这里有一种方法:

select b.*
from tableb as b
where not exists (select 1
                  from tablea as a
                  where a.col1 = b.col1 and a.col2 = b.col2 and a.col3 = b.col3
                 );

像这样的怎么样

Select b.col1,b.col2,b.col3 from 

tableb b left outer join tablea a 

on ( b.col1 != a.co11 and b.col2 != a.co12  and b.col3 != a.co13 )

告诉我们你尝试了什么,告诉我们什么不起作用。非常确定你的和应该是ors。这样,如果有任何列不匹配,则返回该行。