Я пытаюсь написать запрос CTE, и я до того, как «Новый» заголовок для запросов CTE. Но я чувствую, что я достаточно близок к тому, чтобы получить конечную игру, за которой я работаю. Мой запрос работает идеально, пока я не бросаю CTE, и даже после включения CTE он по-прежнему работает идеально, просто дает каждому отдельному экземпляру, а не SUM, как мне нужно. Что я должен изменить в своем синтаксисе, чтобы запрос только выдавал СУММ, как мне нужно?Запрос не суммируется по мере необходимости
;With CTE
As
(
SELECT
BadgeNum
,NameOnFile
,SUM((CONVERT(decimal(18,6),pyrll.hoursworked))) AS [Hours]
FROM
masterpayroll pyrll
Group By
BadgeNum,NameOnFile
)
SELECT
,SUM(pyrll.[Hours]) As [Hours Worked This Week]
,pyrll.NameOnFile As [Employee Name]
,COUNT(case when pf.arrest_status in ('Final', 'Complete',) And pf.supervisorSignoff IS NOT NULL THEN pf.ID else null end)
,COUNT(case when pf.arrest_status in ('Pending', 'Incomplete', 'On Hold') THEN pf.ID else null end)
FROM personelFiles pf
INNER JOIN CTE pyrll
ON pf.ID = pyrll.BadgeNum
WHERE pf.officerName Like 'Gat%'
GROUP BY pyrll.[Employee Name], pyrll.[Hours Worked This Week]
EDIT --- Верхний набор данных - это то, что возвращается из запроса - нижний набор данных - это то, что я хочу увидеть возвращенным.
EDIT # 2 - Если это лучший способ написать запрос, чтобы по-прежнему получить желаемый результат второго набора данных на моем изображении ниже, я тоже за это!
что именно вам нужно? Можете ли вы быть более конкретным или предоставить образец вывода? –
@EduardUta - изображение включено. Главный результат - это то, что включает запрос, нижний результирующий набор - это то, что я хочу показать. – user2676140