【发布时间】:2022-01-18 02:33:35
【问题描述】:
我正在尝试进行嵌套查询,其中我从多个列返回值并将这些值与另一列中的值匹配。类似于下面的代码(这是为了工作,所以我不能把确切的代码放在这里)
select *
from store1
where (orderNum, customer, total) not in (
select orderNum, customer, total from store2)
当我尝试运行代码时,我得到了错误:
在预期条件的上下文中指定的非布尔类型表达式,靠近 ','。
有没有办法做到这一点是SQL Server。我知道使用连接是一种选择,但我现在更愿意避免这种情况。感谢您的帮助!
【问题讨论】:
-
你试图避免加入的理由是什么?它是一个普通的 SQL 工具...
NOT EXISTS可能是您想要的。 -
在这一点上,我对连接的理解不足以将其实施到解决方案中。特别是这个查询已经使用的多个连接。为了开发截止日期,我一直在寻找另一种解决方案,但随着我对 SQL 的了解越来越多,我绝对愿意更新查询以使其更清晰。
-
支点:
IN和NOT IN,还有EXISTS,都是连接类型,特别是半连接
标签: sql sql-server tsql