6

一緒に照会したい derby データベースに 2 つのテーブルがあります。

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

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

Orders テーブルから注文に関するすべての情報と、その注文に関連付けられている製品の総数を返すクエリが必要です。

うまくいくと思って試してみましたが、「列参照 'ID' が無効です。SELECT リストに少なくとも 1 つの集計が含まれている場合、すべてのエントリは有効な集計式である必要があります。」というエラーが表示されます。

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

2 に答える 2

11
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
于 2012-05-03T10:48:12.657 に答える
0

次のようなgroup by句が必要だと思います:

GROUP BY orders.ID,orders.UserID,orders.PurchaseDate,orders.TotalPrice
于 2012-05-03T10:34:15.053 に答える