2012-02-17 74 views
1

我一直在对着我的键盘敲打我的头,试图让它工作。这是我简单的两页的表(名为“test”)的外观:使用Oracle的SQL选择

part_id cust_id 


1..........1 

1..........1 

2..........2 

3..........3 

我需要写一个select语句,将列出所有的cust_id下令相同PART_ID一次,并且还列出了PART_ID。到目前为止,我能够最近的是:

SELECT cust_id, COUNT(part_id) 
FROM TEST 
GROUP BY cust_id 
HAVING COUNT(part_id) > 1; 

这只告诉我有多少客户订购更多的一部分。同样的part_id是这里的关键。任何提示将非常感谢!

+0

鉴于您的示例表,您不应该使用'cust_id'而不是'customer_id'吗?否则,查询看起来很好。 – 2012-02-17 14:40:07

回答

2

你很亲密。只需在SELECT和GROUP BY中包含part_id即可。

SELECT cust_id, part_id 
FROM TEST 
GROUP BY cust_id, part_id 
HAVING COUNT(*) > 1; 
+0

就是这样!非常感谢!整个下午这让我疯狂。你刚刚从一个不眠之夜救了我:) – James 2012-02-17 14:51:42