我有一个基本表,其中有100万个客户编号,只有一列。现在,如果要在另一个特定的表中找到客户,我想添加第二个列,其值为'1'和'0'。
基本表:
select relationNr
from Relation
第二张表:
select relationNr
from Contract
where startdate < '01-01-2019'
and enddate is null
and type = 'donor'
我希望有两列,第一列具有所有的关联号,第二列具有1或0(视是否存在于第二张表中而定)。
答案 0 :(得分:0)
您可以为此使用外部联接:
select r.relationnr,
case
when c.relationnr is not null then 1
else 0
end as is_present
from relation r
left join (
select relationNr
from Contract
where startdate < '01-01-2019'
and enddate is null
and type = 'donor'
) c on c.relationnr = r.relationnr;
答案 1 :(得分:0)
使用 LEFT JOIN 获得效果:
SELECT
relationNr
,IIF(c.relationnr IS NOT NULL,1,0) is_present
FROM
Relation r
LEFT JOIN Contract c ON r.relationnr = c.relationnr
AND c.startdate < '01-01-2019'
AND c.enddate is null
AND c.type = 'donor'