创建SQL查询以列出花费超过1000美元的所有客户端

时间:2010-05-26 11:17:19

标签: sql mysql sql-server

所以,我有三个包含以下行的表:Customers(Customer_id和Name),Orders(Customer_id,Product_id,Quantity)和Products(Price)。

如何编写查询,显示花费超过1000美元的所有客户?我必须加入这些桌子吗?

2 个答案:

答案 0 :(得分:2)

因为这是家庭作业,我不打算给你答案,只是提供如何得出答案的信息。

您需要包含customers表,因为这就是您所寻找的客户。您需要与订单表一起加入汇总,这样您就可以了解他们订购的每种产品的数量,并且您需要加入产品表以查找所有这些商品的价格,以便总计他们是否花了超过1000美元。

去吧。告诉我们你是如何继续的。

答案 1 :(得分:0)

SELECT * FROM customer c JOIN (
  SELECT a.customer_id,SUM(a.quantity*b.price) spent FROM orders a 
  JOIN products b ON b.product_id=a.product_id GROUP BY a.customer_id
) d ON d.customer_id=c.customer_id WHERE d.spent>1000