Pl / Sql выбрать заявление? - PullRequest
0 голосов
/ 08 декабря 2011

Есть таблица данных;

> == id || customer_number || account_type || balance
> == 1   - 123456          -  1              - 100
> == 2   - 123457          -  1              - 200
> == 3   - 123456          -  3              - 200
> == 4   - 123456          -  4              - 220
> == 5   - 123456          -  5              - 250
> == 6   - 123457          -  2              - 200

Как выбрать клиентов, у которых есть хотя бы один из типов {1 и 5}?

Ответы [ 3 ]

7 голосов
/ 08 декабря 2011

Если вам нужны клиенты со счетами типа 1 ИЛИ 5:

SELECT * FROM customers WHERE account_type IN (1, 5);

[РЕДАКТИРОВАТЬ] Если вы хотите, чтобы клиенты со счетами типа 1 И 5:

SELECT DISTINCT(c1.customer_number)
FROM customers c1, customers c2
WHERE c1.customer_number = c2.customer_number
    AND c1.account_type = 1
    AND c2.account_type = 5
2 голосов
/ 08 декабря 2011

Вы имели в виду нечто подобное?

select * from table where account_type IN (1,5); 
0 голосов
/ 08 декабря 2011

Вот один из способов сделать это:

SELECT customer_number 
FROM customers c 
WHERE EXISTS 
    (
    SELECT 1 FROM customers c1 WHERE c1.account_type = 1 AND c1.customer_number = c.customer_number)
    ) 
AND c.account_type = 5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...