使用Oracle的SQL选择
问题描述:
我一直在对着我的键盘敲打我的头,试图让它工作。这是我简单的两页的表(名为“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是这里的关键。任何提示将非常感谢!
答
你很亲密。只需在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
鉴于您的示例表,您不应该使用'cust_id'而不是'customer_id'吗?否则,查询看起来很好。 – 2012-02-17 14:40:07