sqldb2:需要选择属于在b列(value=p)中具有唯一值的客户机的所有记录

jyztefdp  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(300)

需要选择属于b列中具有唯一值(值=p)的客户机的所有记录
这是我的db2表:

Name      Column B

David         P
David         P
Stacy         A
Stacy         A
Curry         A
Curry         P
Curry         P
Kevin         P
Kevin         P

预期结果:

Name          Column B
David         P
David         P
Kevin         P
Kevin         P
r55awzrz

r55awzrz1#

如果columnb中没有空值,则可以使用 NOT EXISTS :

select t.* from tablename t
where not exists (select 1 from tablename where Name = t.Name and ColumnB <> 'P')

请看演示。
结果:

>  NAME | COLUMNB
> ----: | ------:
> David |       P
> David |       P
> Kevin |       P
> Kevin |       P
5lhxktic

5lhxktic2#

基于你的问题,你似乎想要:

select t.*
from t
where t.b = 'P' and
      not exists (select 1 from t t2 where t2.name = t.name and t2.b <> 'P');

相关问题