2017-05-22 11 views
1

SQLテーブルには、CustomerIDとTransactionTypeという2つのフィールドがあります。 CustomerIDは、各トランザクションで繰り返すことができる一意の番号です。各取引は「S」または「P」です。SQLに「S」と「P」の両方の属性を持つ顧客を選択するにはどうすればよいですか?

enter image description here

私は 'S' とSQLの 'P' の両方を持っている明確なのCustomerIDsを選択します。したがって、上記の表では、期待される戻り値は100と102です。これをどのように行うことができますか?

+0

http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557を読んでください。受け入れた回答 –

+0

Microsoft SQL Server – J4ce

答えて

2

あなたはこのために凝集を使用することができます。

select customerid 
from your_table 
where transactionType in ('S', 'P') 
group by customerid 
having count(distinct transactionType) = 2; 

トランザクションタイプのみ「S」または「P」(さえnullではない)ことができる場合は、where句を失うことができます。

+0

ありがとうございました!意味あり! – J4ce

関連する問題