Oracle Multi Select - PullRequest
       1

Oracle Multi Select

0 голосов
/ 29 октября 2018
 CID    F_ID    NME
 1      A      QR
 1      B      QB
 2      A      QR
 3      B      QB
 4      A      QR
 4      B      QB

Результат должен быть следующим

CID    F_ID    NME
1       A     QR
1       B     QB
4       A     QR
4       B     QB

CID - это идентификатор CUST, F_ID - это FUTURE_ID, NME IS NAME.

Результат запроса должен возвращать только тот CID, который попадает в оба F_ID - A & B

1 Ответ

0 голосов
/ 29 октября 2018

Вот один канонический способ написания этого запроса:

SELECT t1.CID, t1.F_ID, t1.NME
FROM yourTable t1
INNER JOIN
(
    SELECT CID
    FROM yourTable
    WHERE F_ID IN ('A', 'B')
    GROUP BY C_ID
    HAVING MIN(F_ID) <> MAX(F_ID)
) t2
    ON t1.CID = t2.CID;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...