Я постараюсь сделать это так просто, как я могу:Поворотная таблицу с результатами diveded по USERNAME
У меня есть таблица, которая регистрирует все, что пользователь (сотрудник) делает (может начать свою работу, регистрации новых продуктов, доставки продуктов и прекращения его работы). Самый распространенный сценарий - это когда пользователь начинает свою работу, делает все, что ему нужно делать в течение дня, а затем заканчивает свою работу в тот же день, когда он начал, так что теперь это информация, которая важна для меня сейчас (начало и конец).
Этот запрос:
SELECT DISTINCT
DATEPART(DAY,TimeStamp) [Day],
DATEPART(MONTH,TimeStamp) [Month],
DATEPART(YEAR,TimeStamp) [Year],
login [USER],
CASE WHEN TipoOcorrencia = 'IniciarDia' THEN 'YES' END [Started],
CASE WHEN TipoOcorrencia = 'FinalizacaoDia' THEN 'YES' END [Ended]
FROM CHAMADO ch
WHERE
TimeStamp >= '20151001'
AND TipoOcorrencia = 'IniciarDia' OR TipoOcorrencia = 'FinalizacaoDia'
GROUP BY
DATEPART(DAY,TimeStamp),
DATEPART(MONTH,TimeStamp),
DATEPART(YEAR,TimeStamp),
login,
TipoOcorrencia
ORDER BY [USER], [Year],[Month],[Day]
возвращает что-то вроде этого (но с большим количеством пользователей):
Вы можете видеть, что этот пользователь начал и закончил свой день работы на том же даты в три разных дня (10/7, 10/8 и 10/9).
Правильно используя PIVOT Я считаю, что можно получить следующий ожидаемый результат:
Очевидно, что моя проблема в том, что я, несмотря на попытки очень трудно, не могли сделать PIVOT работы. И мне нужна помощь ...
Заранее спасибо!
Оберните свои заявления о делах max и избавьтесь от группы на tipocorrencia – xQbert