2017-05-20 8 views
0

Customers 테이블에 TotalOrders 열을 추가했습니다.고객 당 Northwind SQL 총 주문

ALTER TABLE customers ADD TotalOrders INT NULL 

내가 그러나 내가 정확히

INSERT INTO customers (TotalOrders) SELECT SUM(...) 
+0

총 주문 열을 추가하지 않을 수도 있습니다. 오히려이 열은 사용자가 테이블을 쿼리 할 때 계산할 수 있습니다. –

+0

이것은 작업으로 주어진 것이 두려웠습니다. 특별히 열을 만들고 값을 추가한다고 명시했습니다. –

답변

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 
1
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 
합계를 필요합니까 무엇인지 알아낼 수 없습니다, 고객 당 주문의 총 수를 발견하고이 칼럼에 그 값을 추가하기 위해 노력하고있어
+0

'Orders.Total'을 설명하는 마음이 있습니까? –

+1

필드 이름을 유감스럽게 생각합니다. northwind가 설치되어 있지 않고 이름도 기억하지 않지만 주문 테이블의 총계를 의미합니다. 합계가 존재하지 않으면 각 주문 항목에 대해 가격 x 수량을 곱해야합니다. –