所以,我有三个包含以下行的表:Customers(Customer_id和Name),Orders(Customer_id,Product_id,Quantity)和Products(Price)。
如何编写查询,显示花费超过1000美元的所有客户?我必须加入这些桌子吗?
答案 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