2012-02-17 25 views
1

私はこれを動作させるために私のキーボードに対して頭を叩きました。ここでは(「テスト」という名前の)私のシンプルな2列のテーブルがどのように見えるかです:私は何度も同じpart_id以上を注文したすべてのCUST_IDを一覧表示されますselect文を書く必要があるともpart_idを示していますSQL Oracleを使用して選択してください

part_id cust_id 


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

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

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

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

。これまでのところ、私は来ることができました最も近いです:だけ多くの顧客が、よりその一部を注文したか私に語っ

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

。同じpart_idがここの鍵です。どんなヒントも大歓迎です!

+0

サンプルテーブルが与えられた場合、 'customer_id'の代わりに' cust_id'を使用しないでください。それ以外の場合は、クエリが正常に見えます。 –

答えて

2

あなたはとても近いです。 SELECTとGROUP BYの両方にpart_idを含めてください。

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

それはそれでした!どうもありがとうございます!これは午後すべて私を夢中にさせていた。あなたはちょうど不眠の夜から私を救った:) – James

関連する問題