Я пытаюсь создать запрос, чтобы получить результаты, подобные этой картинке ниже.
Одна строка на человека.
Проблема в том, что когда я создаю свой запрос, поля, которые я использую только для WHA CLAUSE (мне даже не нужно показывать их как результаты), он отображается как ошибка с просьбой добавить их в ГРУППОВАЯ ОГОВОРКА или ОБЪЕДИНЕННЫЕ ФУНКЦИИ. И, вероятно, это создает дублированные строки в моих результатах для каждого пользователя.
Мой запрос просто запускается, если я помещаю UserLogon, JobPageFormat и JobIsDuplex в предложение group.
База данных, которую я использую, MS SQL Server 2008
Пожалуйста, смотрите мой sql запрос
select UserLogon, count(TrackingId) as Jobs,
case
when JobPageFormat = 'A3' then SUM(TrackingPageCount*2)
when JobPageFormat != 'A3' then SUM(TrackingPageCount)
end as Total_Pages,
case
when JobPageFormat = 'A3' then SUM(TrackingColorPageCount*2)
when JobPageFormat != 'A3' then SUM(TrackingColorPageCount)
end as Color_Pages,
case
when JobPageFormat = 'A3' then (SUM(TrackingPageCount*2) - SUM(TrackingColorPageCount*2))
when JobPageFormat != 'A3' then (SUM(TrackingPageCount) - SUM(TrackingColorPageCount))
end as Mono_Pages,
case
when JobPageFormat = 'A3' and JobIsDuplex = 0 then SUM(TrackingPageCount*2)
when JobPageFormat != 'A3' and JobIsDuplex = 0 then SUM(TrackingPageCount)
end as Simplex,
case
when JobPageFormat = 'A3' and JobIsDuplex = 1 then SUM(TrackingPageCount*2)
when JobPageFormat != 'A3' and JobIsDuplex = 1 then SUM(TrackingPageCount)
end as Duplex
from scTracking
where ComputerName like '%ServerXXX%'
and JobType in (1,2,3)
and StartDateTime > '2019-09-01'
and StartDateTime < '2019-10-01'
group by UserLogon, JobPageFormat, JobIsDuplex
order by UserLogon
Смотрите результаты, которые я получаю ниже
Кто-нибудь знает, как я могу выполнить этот запрос, не дублируя результаты, пожалуйста?
С уважением, Лучано