我有兩個表:


我想在 Campaign 表 -> 55,100 中獲得結果。
因為它們不存在于Jobs表中。
uj5u.com熱心網友回復:
您可以使用not exists條件:
SELECT *
FROM campaign c
WHERE NOT EXISTS (SELECT *
FROM jobs j
WHERE j.campaignid = c.campaignid)
uj5u.com熱心網友回復:
你可以這樣使用:
select * from campaign
where 1 = 1
and campaignid is not null
and campaignid not in (select campaignid from jobs)
uj5u.com熱心網友回復:
create table #Campaign (CampaignId int NULL)
create table #Jobs (JobId int, CampaignId int)
insert into #Campaign values (1),(2),(3),(4),(100),(55)
insert into #Jobs values (1,1),(2,2),(3,3),(4,4),(5,1),(6,3),(7,3)
select distinct C.CampaignId
from #Campaign as C
where not exists(select 1 from #Jobs as J where C.CampaignId = J.CampaignId)
結果是 55 100
uj5u.com熱心網友回復:
或者,您可以使用 ID 為空的 LEFT OUTER JOIN:
SELECT c.* from campaign c
LEFT OUTER JOIN jobs j ON j.CampaignId = c.CampaignId
WHERE j.CampaignId IS NULL;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/389553.html
標籤:sql-server 选择
下一篇:linux考點整理
