1

顧客が行った注文の合計金額を計算したい:

SELECT 
    C.ctm_Id, O.OrderId, SUM(P.pdt_UnitPrice * O.Quantity), 
FROM 
    Customer C, Orders O, Product P
WHERE 
    P.pdt_Id = O.OrderID GROUP BY C.ctm_Id

エラーは次のとおりです。

メッセージ 156、レベル 15、状態 1、行 2
キーワード「FROM」付近の構文が正しくありません。

4

5 に答える 5

5

余分なコンマ:

SELECT C.ctm_Id, O.OrderId, SUM(P.pdt_UnitPrice * O.Quantity), 
                                                             ^-- here
于 2012-11-30T14:57:34.543 に答える
2

FROMの前にコマを取り除きます

SELECT C.ctm_Id, O.OrderId, SUM(P.pdt_UnitPrice * O.Quantity) 
    FROM Customer C, Orders O, Product P
    WHERE P.pdt_Id = O.OrderID GROUP BY C.ctm_Id
于 2012-11-30T14:57:46.260 に答える
1

SUM(P.pdt_UnitPrice * O.Quantity), - 追加,

于 2012-11-30T14:58:05.370 に答える
1

試す SELECT C.ctm_Id, O.OrderId, SUM(P.pdt_UnitPrice * O.Quantity) FROM Customer C, Orders O, Product P WHERE P.pdt_Id = O.OrderID GROUP BY C.ctm_Id,O.OrderId

于 2012-11-30T15:09:53.107 に答える
0

この問題は、集計関数に含まれていないすべての列を GROUP BY 句に含める必要があることです。GROUP BY 句に O.OrderId を追加していません。

luchosrock が言及したことは、より良い方法です。

ただし、JOIN を使用することを強くお勧めします。ちなみに、Customer テーブルと Order テーブルの間も結合していません。

顧客の注文の合計金額を合計するとします。クエリは次のようになります。

select
    C.ctm_Id,
    O.OrderId,
    SUM(P.pdt_UnitPrice * O.Quantity)
from Customer C
join Orders O
    on C.ctm_Id = O.ctm_Id
join Product P 
    on O.pdt_Id = P.pdt_Id
group by C.ctm_Id, O.OrderId
于 2012-11-30T15:35:24.143 に答える