У меня есть такая таблица
Date | Name | StateData |
------+-------+-----------+
xxxxx | Tom | OPENED |
xxxxx | David | NULL |
xxxxx | Tom | NULL |
xxxxx | Brand | CLOSED |
xxxxx | Brand | NULL |
xxxxx | Brand | OPENED |
Какой результат я хочу достичь, это что-то вроде этого
Date | Name | OPENED | CLOSED | UNUSED |
-----+------+--------+--------+--------+
xxxxx| Tom | 1 | 0 | 1 |
xxxxx| David| 0 | 0 | 1 |
xxxxx| Brand| 1 | 1 | 1 |
Я пробовал что-то подобное
SELECT
Name,
[OPENED] = COUNT(CASE WHEN StateData ='OPENED' THEN StateData END),
[CLOSED] = COUNT(CASE WHEN StateData ='CLOSED' THEN StateData END),
[UNUSED] = COUNT(CASE WHEN StateData IS NULL THEN StateData END)
FROM
[dbo].[StateData]
GROUP BY
Name
В результате у меня нет по крайней мере повторяющихся записей в столбце Имя, но с помощью простого выбора счетчика (*) я ясно вижу, что значения в столбцах неверны.
Первый изВсе, что я сделал Google некоторые образцы, и сделал SELECT выше.