0
我有臨時表#Inserts
在那裏我收集記錄,最終我會在某些時候執行INSERT
。在這之前我需要過濾掉一些數據。第一個查詢使用NOT EXISTS
,它不會返回正確的結果:不存在與INNER JOIN沒有返回預期結果
SELECT I.UnitId
FROM #Inserts AS I
WHERE NOT EXISTS (
SELECT 1
from #Inserts AS INS
INNER JOIN Organisation AS O
ON INS.OrganisationId = O.OrganisationId
AND INS.UnitId = O.UnitId
)
但是,如果做到以下幾點:
DELETE INS FROM #Inserts AS INS
INNER JOIN Organisation AS O
ON INS.OrganisationId = O.OrganisationId
AND INS.UnitId = O.UnitId
那麼如果我SELECT * FROM #Inserts
我可以看到記錄被過濾爲我已經預料到了。我在做什麼錯了NOT EXISTS
,我怎樣才能得到與DELETE
相同的行爲?
Yeap,看來這正是我所需要的。謝謝! – Leron