Требуется 1 клиент на строку с суммой объединенных заказов этого клиента для отображения в последнем столбце - PullRequest
0 голосов
/ 11 мая 2018

Таблицы и подсказки

Более новый в SQL и прохождение курса обучения в колледже. Я смог присоединиться к своим 3 столам, но не могу понять, как правильно отобразить все мои заказы клиентов. Мне нужно показать общую сумму в долларах всех покупок каждого клиента. В настоящее время показаны все заказы каждого клиента.

SELECT Customers.Customer#, Customers.lastname, Customers.firstname, MAX(Orders.Orderdate) "Last Order On", Orderitems.Paideach "Total Purchased in $"
FROM Customers
INNER JOIN Orders ON Customers.Customer# = Orders.Customer#
RIGHT JOIN Orderitems ON Orders.Order# = Orderitems.Order#
GROUP BY Customers.Customer#, Customers.lastname, Customers.firstname, Orders.Orderdate, Orderitems.Paideach
ORDER BY Customer#;

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Полагаю, вам также нужно умножить количество на цену каждой единицы.

SELECT Customers.Customer#,
       Customers.lastname,
       Customers.firstname,
       MAX(Orders.Orderdate) "Last Order On",
       SUM(Orderitems.Paideach * Orderitems.Quantity) "Total Purchased in $"
FROM Customers
INNER JOIN Orders ON Customers.Customer# = Orders.Customer#
INNER JOIN Orderitems ON Orders.Order# = Orderitems.Order#
GROUP BY Customers.Customer# 
ORDER BY Customer#;
0 голосов
/ 11 мая 2018

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

SELECT Customers.Customer#, Customers.lastname, Customers.firstname, MAX(Orders.Orderdate) "Last Order On", SUM(Orderitems.Paideach) "Total Purchased in $"
FROM Customers
INNER JOIN Orders ON Customers.Customer# = Orders.Customer#
INNER JOIN Orderitems ON Orders.Order# = Orderitems.Order#
GROUP BY Customers.Customer# 
ORDER BY Customer#;
...