0

我很难得到正确的答案。我的结果为所有字段返回相同的数量。请记住,我是 SQL 的新手

编写一个 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

您需要一个连接条件来关联这两个表。否则,您只会得到一个完整的交叉产品。

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

我只是在猜测与这两个表相关的列的名称,您应该将它们替换为实际的列。

于 2013-09-19T03:15:13.080 回答