У меня есть следующий код:
SELECT
ehrprg.ReportName
,ehrprg.AnnualGoalServiceMinutes
,COUNT(DISTINCT ct.[ClientFK]) AS [UnduplicatedClients]
FROM
[WH].[Fact].[EHRClinicalTransaction] ct
INNER JOIN [Dimension].EHRProgram ehrprg ON
ct.ProgramFK = ehrprg.WHID
WHERE
ehrprg.AnnualGoalServiceMinutes > 0
GROUP BY
ehrprg.ReportName
,ehrprg.AnnualGoalServiceMinutes
ORDER BY
ReportName
и результат:
Но мне нужно, чтобы был только один«SM NV» (вместо 2) и одна «SM REACH» (вместо 3) строк в столбце [ReportName] , суммируя [ServiceMinutes]
Когда я использую SUM (ehrprg.AnnualGoalServiceMinutes) , это дает мне ошибку « Арифметическое переполнение при преобразовании в тип данных int ».
Затем я попытался, SUM(CONVERT (BIGINT, ehrprg.AnnualGoalServiceMinutes)) , но с получением следующего:
По-прежнему не группируется (без суммирования AnnualGoalServiceMinutes)и дает некоторые значения, я не могу понять
Моя цель состоит в том, чтобы вместо -
ReportName AnnualGoalServiceMin
SM NV 197885
SM NV 348654
SM REACH 40000
SM REACH 80000
SM REACH 380000
Я ожидаю СУММУ AnnualGoalServiceMin:
ReportName AnnualGoalServiceMin
SM NV 546539
SN REACH 500000
Пожалуйста, помогите