2017-05-20 3 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をインストールしておらず、名前も記憶していませんが、私はOrderテーブルの総計を意味します。合計が存在しない場合は、注文アイテムごとに価格x数量を掛ける必要があります –

関連する問題