2012-06-20 108 views
0

我有我的數據庫中下表:複雜的SQL查詢W /多表

產品

ID_PRODUCT 
PRODUCTNAME 
PRICE 

客戶

ID_CUSTOMER 
NAME 

訂單

ID_ORDER 
CUSTOMER_ID 
PRODUCT_ID 
QUANTITY 

如何選擇所有訂購4種或更多產品的顧客?

+0

這並不複雜。它是大寫。 – wildplasser

回答

1

假設你的意思是,「如何選擇所有客戶ID是誰下令四個或更多不同的產品?」,那麼你可以使用下列內容:

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

如果你只是想四個或更多的產品線,在訂單,那麼你會從「計數」中刪除「不同」。

如果您想要更多的客戶信息,那麼您可以將其加入到客戶表中以獲取名稱(等等)。

+0

查詢表達式計數中的語法錯誤(缺少運算符)> = 4 –

+0

您使用的是哪個數據庫?這是標準的SQL語法,應該可以工作。 –

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

db要求輸入參數值c.CUSTOMER_ID –

+0

嗯,這個查詢中沒有參數。 – James