Нужна помощь с составлением sql запроса

 
0
 
SQL
ava
NiceDrugs | 13.11.2016, 12:02
Добрый день, форумчане.
Начал изучать SQL запросы.
Попалась следующая задачка:

insert into payment_trx (id, sum, card_id, description) values (1, 654, 8, 'Pizza')
insert into payment_trx (id, sum, card_id, description) values (2, 456, 9, 'Coffe')
insert into payment_trx (id, sum, card_id, description) values (3, 654, 8, 'Meet')

insert into client (id, name, date_of_birth, personal_manager_id) values (4, 'Dodo', '2000-01-01', 1)
insert into client (id, name, date_of_birth, personal_manager_id) values (5, 'Inna', '1929-07-29', 1)
insert into client (id, name, date_of_birth, personal_manager_id) values (6, 'Lolo', '1999-12-31', 3)

insert into card (id, pan, expiry_date, client_id) values (7, '300', '1212', 5)
insert into card (id, pan, expiry_date, client_id) values (8, '100', '1101', 6)
insert into card (id, pan, expiry_date, client_id) values (9, '001', '1101', 6)

Помогите получить информацию о клиенте, совершившем самый крупный платеж.
Первое что пришло в голову, вот это

SELECT MAX (sum), name, date_of_birth
FROM payment_trx, client
GROUP BY name, date_of_birth

Но я так понимаю не хватает вложенного запроса.
Прошу строго не судить.
Ответы (1)
ava
a0730 | 13.11.2016, 20:32 #
Попробуй вот такое для начала:

select c.id, c.name from
(select card_id, sum(sum) total from payment_trx group by card_id order by total desc limit 1) t
inner join card ca on ca.id=t.card_id
inner join client c on c.id=ca.client_id;


Вторая строка определяет карточку по которой потрачено больше всего.

Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить