2016-04-07 2 views
0

У меня есть таблица с столбцами primaryCustomerID и PositionCode. PriamryCustomerID содержит идентификатор банковского портфеля клиентов, а PositionCode содержит код банковских продуктов (WSO и PB).выбор клиентов только с одним продуктом в базе данных SQL

Мне нужно выбрать клиентов с помощью WSO PositionCode, но не обязательно иметь PB-код. , если выбрать клиентов, где PositionCode является WSO, он исключает клиентов PB, но это не означает, что у клиентов нет PB.

неспециалист помощь. Спасибо

+0

Просьбы представить данные примеры, чтобы показать свои данные и прояснить вашу проблему. Достаточно 10 строк данных. Также покажите ожидаемый результат. –

+0

sql-server и mysql? который из? – Tanner

+0

Если вы используете sql-server, почему вы помещаете mysql? ... удалите неправильные теги – scaisEdge

ответ

0

Это будет список всех клиентов с кодом позиции = 'WSO', который также не имеет строки с кодом положения = 'PB'. Должен работать как на sql-сервере, так и на mySQL.

SELECT a.primaryCustomerID, a.PositionCode 
from table a 
where a.positionCode = 'WSO' 
and not exists (select 1 from table b where b.primaryCustomerID = a.primaryCustomerID and b.positionCode = 'PB') 
0

primaryCustomerID - PositionCode 1 PB 1 ООГО 2 ООГО 3 PB 4 PB 4 ООГО

Предполагая, что это ваш стол, и вы ожидаете запрос для возврата первичного КодКлиента - 2

Вот пример запроса в mysql (при условии, что имя таблицы будет xyz), а не оптимизированный запрос, но возвращает результат 2,

выберите * от А где positionCode = «ОБЙ» и PrimaryCustomerID не в (выберите PrimaryCustomerID от А где positionCode = «PB»)