如何使用EXCEPT插入静态表?

sal*_*ere 3 t-sql except sql-server-2008

我正在开发SSMS 2008 R2 T-sql查询.目前我的查询如下:

INSERT rd_scs_only_clients
SELECT DISTINCT en.clientid_c
FROM cd.enrollments en 
WHERE en.agency_c in ('SCCR','SCRP') AND DATEDIFF(DAY, GETDATE(), startdate_d) > 90
EXCEPT
SELECT DISTINCT en.clientid_c
FROM cd.enrollments en 
WHERE en.agency_c not in ('SCCR','SCRP')
Run Code Online (Sandbox Code Playgroud)

但这导致0条记录,因为它似乎没有将INSERT语句下面的所有代码都识别为属于同一查询.我怎么能改写这个?

Rod*_*ams 10

在select*from中包装你的语句,它应该可以工作.

INSERT rd_scs_only_clients

select * from (
SELECT DISTINCT en.clientid_c
FROM cd.enrollments en 
WHERE en.agency_c in ('SCCR','SCRP') AND DATEDIFF(DAY, GETDATE(), startdate_d) > 90
EXCEPT
SELECT DISTINCT en.clientid_c
FROM cd.enrollments en 
WHERE en.agency_c not in ('SCCR','SCRP')
)DATA
Run Code Online (Sandbox Code Playgroud)