我有两个表,一个是关于sampleid
的信息(sample id
是主键),另一个是sampleid
所具有的条件(sampleid
不是主键在此表中,因为它可能有多个条件)。我想知道我的sampleid
是否有特定条件(是/否),但不确定如何在不获取返回样本行多行的查询的情况下加入它们。
例如
sampleid colour
-----------------------
1 blue
2 red
3 green
sampleid condition
-----------------------
1 23
1 81
1 94
2 81
2 94
3 23
我想询问样本是否具有条件23并返回:
sampleid colour condition23
----------------------------------------------
1 blue Y
2 red N
3 green Y
希望这很清楚,每次加入他们时,我都会得到多个sampleid-我是新手,并试图找到自己的路!
预先感谢 F
答案 0 :(得分:1)
答案 1 :(得分:0)
尝试此查询:
select s.*, case when c.condition is null then 'N' else 'Y' end condition23
from samples s
left join
(select * from conditions where condition = 23) c on s.sampleid = c.sampleid
答案 2 :(得分:0)
具有EXISTS:
select
s.*,
case
when exists (
select 1 from conditions where sampleid = s.sampleid and condition = 23
) then 'Y'
else 'N'
end condition23
from samples s