Всего заказов 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
Другие вопросы по тегам