带有/多个表的复杂SQL查询

时间:2012-06-20 20:50:32

标签: sql

我的数据库中有以下表格:

产品

ID_PRODUCT
PRODUCTNAME
PRICE

客户

ID_CUSTOMER
NAME

订单

ID_ORDER
CUSTOMER_ID
PRODUCT_ID
QUANTITY

如何选择订购4种产品或更多产品的所有客户?

2 个答案:

答案 0 :(得分:1)

假设您的意思是“如何选择订购四种或更多不同产品的所有客户ID?”,那么您将使用以下内容:

select customer_id
from orders
group by customer_id
having count(distinct product_id) >= 4

如果您只想要订单上的四个或更多产品系列,那么您可以从“计数”中删除“不同”。

如果您想了解更多客户信息,那么您可以将其加入customers表以获取名称(等等)。

答案 1 :(得分:1)

select *
from Customers as c
where (select count(*) from Orders as o where o.CUSTOMER_ID = c.CUSTOMER_ID) > 3