我有表CSBaumkontakt
,这是一个例外情况:
select rootpubindex
from csbaumkontakt
where dadpubindex = '2143640C-3ABF-440C-B094-2128F4495874'
结果rootpubindex
= F7BC36A0-AD4F-49D5-B4FC-AD529C7EA738
select rootpubindex, dadpubindex
from csbaumkontakt
where relpubindex = '2143640C-3ABF-440C-B094-2128F4495874'
结果rootpubindex
= D66035CB-B7AD-4D54-9FC7-AE6E7F32662D
和dadpubindex
= D66035CB-B7AD-4D54-9FC7-AE6E7F32662D
Dadpubindex
是第二个查询的relpubindex
。
现在我想知道第二个查询中的rootpubindex
= D66035CB-B7AD-4D54-9FC7-AE6E7F32662D
和dadpubindex
= D66035CB-B7AD-4D54-9FC7-AE6E7F32662D
是否与rootpubindex
= {{1从第一个查询。因此在这个例子中没有。如果表中的每一行都有相同或不同的查询,我能看到这个吗?
答案 0 :(得分:1)
似乎您正在寻找两列中具有相同值的行
select rootpubindex
, dadpubindex
from csbaumkontakt
where dadpubindex = relpubindex
用于查看匹配结果
select rootpubindex
, dadpubindex
, adpubindex = relpubindex /* 0 = not equal, 1 = equal */
from csbaumkontakt
答案 1 :(得分:1)
您想知道是否存在与相关记录rel.relpubindex = main.dadpubindex
和rootpubindex
匹配主记录dadpubindex
的相关记录(rootpubindex
) }。请使用EXISTS
:
select
dadpubindex,
rootpubindex,
case when exists
(
select *
from csbaumkontakt rel
where rel.relpubindex = main.dadpubindex
and rel.rootpubindex = main.rootpubindex
and rel.dadpubindex = main.rootpubindex
) then 'yes' else 'no' end as match_exists
from csbaumkontakt main;