2014-02-19 4 views
2

SQL 쿼리를 작성하여 입력 (왼쪽)부터 오른쪽 출력을 얻을 수있는 좋은 방법을 제안 해 주시겠습니까? Col1의 'a'항목 수와 col2의 'b'수를 계산해야합니다 (Col0에 YES 인 레코드 만 해당).동일한 SQL 쿼리의 여러 조건

감사합니다. enter image description here

+0

MySQL이? SQL Server? 신탁? –

+0

Sql Server, Anthony! 이 문제를 제기 해 주셔서 감사합니다. – Sam

+2

질문을 편집하고 시도한 SQL을 추가하십시오. –

답변

3

이 매우 간단 (SQL Server 솔루션이 필요) :

SELECT col0, SUM(CASE WHEN col1 = 'a' THEN 1 ELSE 0 END) AS A, SUM(CASE WHEN col2 = 'b' THEN 1 ELSE 0 END) AS B 
FROM t 
WHERE col0 = 'YES' 
GROUP BY col0 

SQLFiddle

1
select col0, 
sum(case when col1 = 'a' then 1 else 0 end) as [A], 
sum(case when col2 = 'b' then 1 else 0 end) as [B] 
from MyTable 
where col0 = 'YES' 
group by col0