我想只將這些記錄插入到#AltDealNames表中,其中DealName存在於#DistDeal表中但不在#AltDealNames表中。爲此,我試圖不存在條款。但它沒有按預期工作。查詢只是將記錄轉儲到#AltDealNames表中。需要澄清哪裏不存在條款
insert into #AltDealNames
select d.DealName, d.ManagerScrubbed, d.BbgDealName, t.TrancheName, t.StreetCusip, t.ISIN, t.BbgTrancheName
from metric..Deal d join metric..Tranche t on d.DealName = t.DealName
where not exists(select 1 from #DistDeal dd join #AltDealNames ad on ad.DealName = dd.DealName)
請幫助我知道如果我在構建查詢時做錯了什麼。
戈登感謝您的回覆,但可能是我的誤解,認爲其中不存在條款適用於記錄以記錄爲基礎,如果插入第一條記錄,如果它不存在,則第二條和第三條。但是看起來where不存在的子句將在外部查詢的完整結果集上工作。 –
@ShashiShankar。 。 。 'select'在'insert'之前完全評估。 –