0

正しい答えが得られずに困っています。私の結果は、すべてのフィールドで同じ金額を返しています。私はSQLの初心者であることを覚えておいてください

次の列を持つ注文を持つ顧客ごとに 1 つの行を返す SELECT ステートメントを記述します。

表のemail_addressCustomers

表の の合計にitem price表のOrder_Itemsを掛けquantityた値Order_Items

discount amount表の列の合計に表Order_Itemsの を掛けquantityた値Order_Items

結果セットを各顧客の商品価格の合計で降順に並べ替えます。 

これは私のコードです

SELECT email_address,
SUM(item_price * quantity) AS item_price_total
SUM(discount_amount * quantity) AS discount_amount_total
FROM customers c JOIN order_items oi
GROUP BY email_address
Order BY item_price_total
4

1 に答える 1

0

2 つのテーブルを関連付ける結合条件が必要です。それ以外の場合は、完全な外積が得られます。

SELECT email_address,
SUM(item_price * quantity) AS item_price_total
SUM(discount_amount * quantity) AS discount_amount_total
FROM customers c JOIN order_items oi ON c.id = oi.customer_id
                                    #^^^^^^^^^^^^^^^^^^^^^^^^
GROUP BY email_address
Order BY item_price_total

2 つのテーブルを関連付ける列の名前を推測しているだけなので、実際の列に置き換える必要があります。

于 2013-09-19T03:15:13.080 に答える