Всего заказов Northwind SQL на одного клиента
Я добавил столбец TotalOrders
к Customers
Таблица.
ALTER TABLE customers ADD TotalOrders INT NULL
Я пытаюсь найти общее количество заказов на одного клиента и добавить это значение в этот столбец, однако я не могу понять, что мне нужно для точной суммы
INSERT INTO customers (TotalOrders) SELECT SUM(...)
2 ответа
Решение
Я думаю, что вы должны использовать обновление здесь. Вы можете собрать общее количество заказов на одного клиента в orders
таблицу, а затем обновить customers
таблица с этой информацией.
UPDATE t1
SET TotalOrders = t2.TotalOrders
FROM customers t1
INNER JOIN
(
SELECT CustomerID, COUNT(*) AS TotalOrders
FROM orders
GROUP BY CustomerID
) t2
ON t1.CustomerID = t2.CustomerID
INSERT INTO customers (TotalOrders)
VALUES(SELECT SUM(Orders.Total)
FROM Orders INNER JOIN Customers ON Orders.CustomerId=
Customer.Id Group By Customer.Id) WHERE Customer.Id =Orders.CustomerId