Отображение самой дорогой транзакции

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

Верхняя таблица — это моя таблица клиентов, а нижняя — таблица транзакций

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

Какая у вас версия SQL Server?

Arun Palanisamy 26.12.2020 11:24
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
2
1
315
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я думаю, что это сработает для вас:

select c.CustomerID, c.FirstName, c.LastName, c.Addrass, c.PostCode, c.Email, c.DOB
from CustomerTable as c, TransactionTable as t
where c.CustomerID = t.CustomerID
AND Amount_Due = (select Max(Amount_Due) from TransactionTable)

Получил сообщение об ошибке: «Сообщение 209, уровень 16, состояние 1, строка 149, неоднозначное имя столбца «CustomerID». И когда я сделал Customer.CustomerID, он говорит: «Сообщение 4104, уровень 16, состояние 1, строка 149. Многокомпонентный идентификатор «Customer.CustomerID» не может быть связан».

HektikSwift 26.12.2020 12:07

@HektikSwift, серьезно, не используйте этот синтаксис соединения.

Dale K 28.12.2020 09:16

Я бы порекомендовал order by и top:

select c.*, t.*
from customer c
inner join (select top (1) with ties * from transaction t order by amount_due desc) t 
    on t.customerid = c.customerid

Подзапрос выбирает транзакцию с наибольшим amount_due (при наличии связей они сохраняются). Затем мы можем объединить это с таблицей клиентов.

Сообщение 4104, уровень 16, состояние 1, строка 152 Не удалось связать составной идентификатор Transaction.CustomerID. Сообщение 209, уровень 16, состояние 1, строка 149 Неоднозначное имя столбца «CustomerID». Сообщение 207, уровень 16, состояние 1, строка 149 Недопустимое имя столбца «Адрес».

HektikSwift 26.12.2020 12:12

@HektikSwift: эти имена столбцов взяты из изображения, которое вы показали. Если нет ваших реальных имен столбцов, вам нужно будет их изменить...

GMB 26.12.2020 12:14

Изображение, которое я показал, представляет собой скриншоты из моих реальных таблиц, поэтому имена столбцов такие же, как на изображениях.

HektikSwift 26.12.2020 12:25

Другие вопросы по теме