Попытка получить общее представление о T-SQL здесь, в SQL Server 2008. Предположим, у меня есть таблица с именем «Проблемы» со столбцами, такими как:
Priority User
1 Foo
1 Foo
2 Foo
5 Foo
4 Bar
5 Bar
1 Bar
1 Fuz
и я хочу отобразить счетчик Приоритета для каждого Пользователя, а также разбивку по каждому Приоритету, чтобы итоговая таблица с именем «Разбивка» могла выглядеть так:
User Total 1 2 3 4 5
Foo 4 2 1 0 0 1
Bar 3 1 0 0 1 1
Fuz 1 1 0 0 0 0
Я думал, что мог бы объявить переменные и написать что-то вроде
DECLARE @P1 INT
DECLARE @P2 INT
DECLARE @P3 INT
DECLARE @P4 INT
DECLARE @P5 INT
SELECT COUNT(id) AS Total,UserName,
CASE Priority
WHEN 1 Then @P1 = @P1 + 1
WHEN 2 Then @P2 = @P2 + 1
WHEN 3 Then @P3 = @P3 + 1
WHEN 4 Then @P4 = @P4 + 1
WHEN 5 Then @P5 = @P5 + 1
END,
FROM Breakdown
GROUP BY UserName
но я уверен, что я на неправильном пути. У кого-нибудь есть предложения?
Спасибо, и извините за нубистский вопрос; но я не уверен, что именно гуглить здесь ...
-R.