2013-05-14 32 views
1

在一間DBMS以下三個表的所有記錄的比賽:從表中返回的記錄,其對另一臺

Customer(Id, Name, City), 
Product(Id, Name, Price), 
Orders(Cust_Id, Prod_Id, Date) 

什麼是它獲取的客戶查詢(如果有的話),誰下令全部產品?

+0

哪個RDBMS好用? – gbn 2013-05-14 15:34:05

回答

3
select c.id 
from customer c 
inner join orders o on o.cust_id = c.id 
inner join product p on p.id = o.prod_id 
group by c.id 
having count(distinct p.id) = (select count(id) from product) 
+0

對於p.id也不會出現在「select」語句中嗎?換句話說,我們可以用「擁有」任何我們想要的列嗎? – arjacsoh 2013-05-14 16:17:53

+0

只要在'count'或'sum'等聚合函數中使用'having'子句,就可以使用任何列。 – 2013-05-14 16:19:06

相關問題