Oracle - выберите из записи клиента из основной таблицы и ее таблицы истории - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть 3 таблицы - таблица счетов, таблица ссуд и таблица loan_history.отношение ссуды к счету равно 1 ко многим.

Для всех записей клиентов в таблице ссуд я хотел получить данные из таблицы счетов.Кроме того, я хотел получить записи о клиентах, которые находятся в заимствованной ссуде, но отсутствуют в основной таблице ссуд, и получить данные из таблицы счетов.

Как этого можно достичь в одном запросе?

Пример:

select loan.id, acct1.number, acct1.type
from loan, acct1
where loan.cust_id = acct1.cust_id
and acct1.id = (select max(acct2.id) from account acct2
                   where acct1.id = acct2.id);   

Теперь, как получить пропавшего клиента из таблицы истории?

Спасибо.

1 Ответ

0 голосов
/ 14 декабря 2018

Если я правильно вас понял, разве это не было бы простым предложением NOT IN?Смотрите последнюю строку:

select loan.id, acct1.number, acct1.type
from loan, acct1
where loan.cust_id = acct1.cust_id
and acct1.id = (select max(acct2.id) from account acct2
                   where acct1.id = acct2.id)
and acct1.id not in (select h.id from loan_history h)     --> this line
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...