SELECT * FROM @actionsUsers
Пользователь Действие ТипДействия
Иванов Изменил дату 1
Петров Добавил запись 4
Соколов Изменил описание 2
Иванов Изменил дату 1
Соколов Изменил заголовок 3
Соколов Изменил заголовок 3
Пользователь Добавил запись Изменил дату Изменил описание Изменил заголовок</li>
Иванов 0 2 0 0
Петров 1 0 0 0
Соколов 0 0 1 2
DECLARE @actionsUsers TABLE ( Пользователь VARCHAR(100), Действие VARCHAR(100), ТипДействия INT )
INSERT @actionsUsers VALUES ( 'Иванов', 'Изменил дату', 1 ),
( 'Петров', 'Добавил запись', 4 ),
( 'Соколов', 'Изменил описание', 2 ),
( 'Иванов', 'Изменил дату', 1 ),
( 'Соколов', 'Изменил заголовок', 3 ),
( 'Соколов', 'Изменил заголовок', 3 )
SELECT [Пользователь],
[Добавил запись], [Изменил дату], [Изменил описание], [Изменил заголовок]
FROM
( SELECT [Пользователь], [Действие]
FROM @actionsUsers ) AS AUC
PIVOT ( COUNT([Действие]) FOR [Действие]
IN ([Добавил запись], [Изменил дату], [Изменил описание], [Изменил заголовок] )) AS PT
ORDER BY [Пользователь]