Sql server 使用except查找sql中的某些行
我试图从一个表中查找行,这些行在另一个表中没有相应的记录Sql server 使用except查找sql中的某些行,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我试图从一个表中查找行,这些行在另一个表中没有相应的记录 SELECT CUST_NUMBER, REFNUMBER, 'Application No Longer Exists; ' as Exception from Data except select CUST_NUMBER from applications 问题是SQ
SELECT CUST_NUMBER,
REFNUMBER,
'Application No Longer Exists; ' as Exception
from Data
except
select CUST_NUMBER
from applications
问题是SQL不喜欢不匹配的列计数。如何获取缺少的行和相关信息 这并不重要,因为您的解决方案是有效的,但这不能用except来完成吗?如果您想说,使用except,我已经添加了一个。但我不喜欢这样,因为您没有相同的列,并且必须访问表两次
select
* from data t1
where not exists(select 1 from applications a where a.cust_number=t1.cust_number)
;With cte
as
(
select cust_number from data
except
select cust_number applications
)
select * from data where cust_number in (select cust_number from cte)