2014-02-19 2 views
2

Не могли бы вы предложить хороший способ получить результат справа, начиная с ввода (слева), написав SQL-запрос? Нам нужно подсчитать количество записей 'a' на col1, а затем число 'b' на col2 (только для записей, которые имеют значение YES на Col0).несколько условий в одном SQL-запросе

спасибо. (решение Sql Server требуется) enter image description here

+0

MySQL? SQL Server? Oracle? –

+0

Сервер Sql, Энтони! Спасибо, что подняли это. – Sam

+2

Пожалуйста, отредактируйте вопрос и добавьте SQL, который вы пробовали. –

ответ

3

Довольно просто:

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 
Смежные вопросы