我正在尝试设置一个SQL语句,当一个项为真时返回1。
ID | ID2 | color | is blue present
---------------------------------------
1 | 12 | blue | 1
1 | 12 | red | 1
1 | 13 | red | 0
因此,当我将ID
和ID2
的密钥组合为color
蓝色时,使用上表,无论其他颜色是什么,这个相同的密钥组合都应该包含{{1}作为1.
我感谢任何帮助。
答案 0 :(得分:0)
您可以在仅检索蓝色值的查询上左键加入查询:
SELECT a.id, a.id2, a.color,
CASE WHEN b.id IS NOT NULL THEN 1 ELSE 0 END AS is_blue_present
FROM mytable a
LEFT JOIN mytable b ON a.id = b.id AND a.id2 = b.id2 AND b.color = 'blue'