2012-05-03 15 views
5

私は一緒にクエリを行うderbyデータベースに2つのテーブルを持っています。JOINされたテーブルの列にSUMを含むSQLクエリ

Orders 
+----+--------+--------------+------------+ 
| ID | UserID | PurchaseDate | TotalPrice | 
+----+--------+--------------+------------+ 
| 1 | 1 | TIMESTAMP | 7.00 | 

OrderItems 
+---------+-----------+----------+ 
| OrderID | ProductID | Quantity | 
+---------+-----------+----------+ 
| 1 |  1 |  2 | 

私は、注文のすべての情報を注文テーブルから、またその注文に関連付けられた製品の合計数を返すようにしたいと考えています。

「列参照 'ID'が無効です。SELECTリストに少なくとも1つの集計が含まれていると、すべてのエントリが有効な集計式である必要があります。私はあなたのようなGROUP BY句が必要だと思う

SELECT 
orders.ID, orders.UserID, orders.PurchaseDate, orders.TotalPrice, SUM(Quantity) 
AS productCount 
FROM app.orders JOIN app.orderItems ON orders.ID=orderItems.OrderID 
+2

は知りません。 –

答えて

9
SELECT 
app.orders.ID, app.orders.UserID, app.orders.PurchaseDate, app.orders.TotalPrice, SUM(app.orderItems.Quantity) 
AS productCount 
FROM app.orders JOIN app.orderItems ON app.orders.ID=app.orderItems.OrderID 
group by app.orders.ID, app.orders.UserID, app.orders.PurchaseDate, app.orders.TotalPrice 
+0

私はこれを試してみると、次のエラーが表示されます: 'ORDERS.ID'列がFROMリストのいずれのテーブルにもない、または結合仕様内に現れてスコープの外にあるまたはHAVING節に現れ、GROUP BYリストには含まれていません。これがCREATEまたはALTER TABLEステートメントの場合、 'ORDERS.ID'はターゲット表の列ではありません。 –

+0

ご協力いただきありがとうございます –

0

:誰かが私をdownvotedなぜ

GROUP BY orders.ID,orders.UserID,orders.PurchaseDate,orders.TotalPrice 
関連する問題