Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用except查找sql中的某些行_Sql Server_Sql Server 2008 - Fatal编程技术网

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)