我需要找到行,对于 A 中的相同值,B 列在所有行中都具有特定值。
例如,给定的表格:
A 列 | B列 |
---|---|
妈妈 | 成功 |
妈妈 | 成功 |
爸爸 | 成功 |
爸爸 | 失败 |
孩子 | 失败 |
孩子 | 失败 |
假设我想要 A 列中相同值的 B 列都是“失败”的所有行。在这种情况下,我想要:
A 列 | B列 |
---|---|
孩子 | 失败 |
孩子 | 失败 |
答案 0 :(得分:1)
您可以使用not exists
:
select t.*
from t
where not exists (select 1
from t t2
where t2.a = t.a and t2.b <> 'failure'
);