2017-05-22 11 views
1

SQL 테이블에는 CustomerID와 TransactionType의 두 필드가 있습니다. 고객 ID는 각 거래마다 반복 될 수있는 고유 한 번호입니다. 각 거래는 '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; 

당신은 잃을 수 where 절 트랜잭션 유형은 'S'또는 'P'가 될 수있는 경우 (도 null이 아닌).

+0

감사합니다! 이것은 의미가 있습니다! – J4ce