选择行,对于 A 列中的相同值,B 列在所有行中都有特定值

时间:2021-06-01 18:05:30

标签: sql oracle

我需要找到行,对于 A 中的相同值,B 列在所有行中都具有特定值。

例如,给定的表格:

<头>
A 列 B列
妈妈 成功
妈妈 成功
爸爸 成功
爸爸 失败
孩子 失败
孩子 失败

假设我想要 A 列中相同值的 B 列都是“失败”的所有行。在这种情况下,我想要:

<头>
A 列 B列
孩子 失败
孩子 失败

1 个答案:

答案 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'
                 );