SQL DB2: необходимо выбрать все записи, принадлежащие клиенту, имеющему уникальное значение в столбце B (значение = P) - PullRequest
0 голосов
/ 19 июня 2020

Необходимо выбрать все записи, принадлежащие клиенту, имеющему уникальное значение в столбце 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

Ответы [ 2 ]

1 голос
/ 19 июня 2020

Если в столбце B нет нулей, вы можете использовать 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
0 голосов
/ 19 июня 2020

Исходя из вашего вопроса, вы, кажется, хотите:

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');
...