|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.05.2021, 23:44 | #1 |
Новичок
Джуниор
Регистрация: 17.05.2021
Сообщений: 6
|
Запрос на Join
Всем привет!
Помогите пожалуйста в написании запроса. Сделал маленькую БД, но с запросом промучался 12 часов, так и не смог(( Задача сформировать следующий запрос: Список лиц, у которых есть и кредит и депозит, причем кредит больше депозита. Вывод: Клиент, сумма депозитов, сумма кредитов. |
18.05.2021, 09:09 | #2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
создаем
1. запрос. кредиты(их сумма) по лицам (sum + group by ) 2. запрос. депозиты(их сумма) по лицам (аналогично) 3. запрос. кредит по лицам inner join депозит по лицам ON депозит на тоже лицо что и кредит 4. фильтр результата (where) сумма кредита > сумма депозита
программа — запись алгоритма на языке понятном транслятору
|
18.05.2021, 11:40 | #3 |
Новичок
Джуниор
Регистрация: 17.05.2021
Сообщений: 6
|
Спасибо за подсказку, сейчас попробую.
Пропал 2-й клиент, он особенный, т.к. именно у него в отличии от других, есть 2 депозита и 2 кредита. Как его корректно показать не понимаю. Последний раз редактировалось Шамиль99; 18.05.2021 в 12:10. |
18.05.2021, 11:41 | #4 |
Новичок
Джуниор
Регистрация: 17.05.2021
Сообщений: 6
|
evg_m,
Спасибо за подсказку, но после этих манипуляций у меня исчезает 2 клиент select кредиты.Физик AS Клиент, депозиты.сумма AS Сумма_депозитов, кредиты.сумма AS Сумма_кредитов from кредиты inner join депозиты on кредиты.Физик=депозиты.Физик where депозиты.сумма in (SELECT sum(сумма) FROM депозиты where сумма>0 group by Физик and кредиты.сумма in ( SELECT sum(сумма) FROM кредиты group by Физик and кредиты.сумма > депозиты.сумма ; |
18.05.2021, 14:20 | #5 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Код:
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 18.05.2021 в 14:25. |
||
18.05.2021, 14:38 | #6 |
Новичок
Джуниор
Регистрация: 17.05.2021
Сообщений: 6
|
evg_m,
на этот запрос select кредиты.Физик AS Клиент, депозиты.сумма AS Сумма_депозитов, кредиты.сумма AS Сумма_кредитов from (select sum(сумма), физик from кредиты group by физик ) as кредитсум inner join (select sum(сумма), физик from депозиты group by физик ) as депозитсум ON кредитсум.физик =депозитсум.физик where кредиты.сумма > депозиты.сумма ; выходит сообщение с просьбой ввести размер депозита и кредита |
18.05.2021, 15:04 | #7 |
Новичок
Джуниор
Регистрация: 17.05.2021
Сообщений: 6
|
Когда я использую такой запрос, то получается вот что:
select кредиты.Физик AS Клиент, депозиты.сумма AS Сумма_депозитов, кредиты.сумма AS Сумма_кредитов from кредиты inner join депозиты on кредиты.Физик=депозиты.Физик WHERE кредиты.сумма > депозиты.сумма ; Что мне следует изменить в коде, чтобы у 2 клиента в поле Сумма_депозитов было 650т, а в кредите 1,1м ? Если юзать агрегатные ф-ции и group by по клиентам, то у 2 клиента результаты дублируются и складываются Последний раз редактировалось Шамиль99; 18.05.2021 в 15:06. |
18.05.2021, 22:36 | #8 |
Новичок
Джуниор
Регистрация: 17.05.2021
Сообщений: 6
|
уже разобрался
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос JOIN | ponam2016 | SQL, базы данных | 3 | 16.06.2016 15:22 |
Запрос к БД с использованием LEFT JOIN | MaGWaY_minsk | SQL, базы данных | 6 | 07.02.2014 15:24 |
запрос с left join | KatrinSecret | SQL, базы данных | 2 | 18.01.2012 22:31 |
Join(запрос) | clbman | SQL, базы данных | 8 | 14.06.2010 15:52 |
не получается запрос с inner join :mad: | Только_Учусь | SQL, базы данных | 16 | 21.07.2008 09:40 |