7

SSMS 2008R2T-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')

ただし、INSERTステートメントの下にあるすべてのコードが同じクエリに属しているとは認識されていないため、レコードは0になります。どうすればこれを書き直すことができますか?

4

2 に答える 2

14

ステートメントを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
于 2012-08-13T20:01:08.423 に答える
1

代わりにこれを試してください

insert rd_scs_only_clients (yourclientfieldname)
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') 
)v

それでも問題が解決しない場合は、他の場所で問題が発生している可能性があります。挿入セクションなしでSQLを試してください

于 2012-08-13T20:01:16.800 に答える