このレポートにDRMLの2つの数字を組み合わせる方法を理解できないようです。現在、私は避難所とLSCCを組み合わせる必要があるときに私に5行を与えています。私は間違って何をしていますか?Group By 'Then'ステートメント
SELECT SUM(service.ServiceTotal) as servTotal,
CASE
WHEN ProgramName = 'Crossing Operations' THEN 'Crossing'
WHEN ProgramName = 'Shelter' or ProgramName = 'LSCC' THEN 'DRML'
WHEN ProgramName = 'Farm Operations' THEN 'Harvest Farm'
WHEN ProgramName = 'Champa Operations' THEN 'Champa'
ELSE ProgramName
END
as ProgName,
ProgramName, CONVERT(date,service.BeginDate) as BeginDate
FROM dbo.Service
JOIN Enrollment on service.EnrollmentID = Enrollment.EnrollmentID
JOIN Program on Enrollment.ProgramID = program.ProgramID
WHERE dbo.service.ServiceTypeID IN (264,429,430,266,431,432,265,273,433,434,493,494,495,500,501,502,496,498,497,499, 270,436,462,435,272,438,463,437,271,460,441,461,442,267,446,448,447,445,443,444,459,269,457,458,456,454,455,268,452,453,451,449,450,514,
275,276,277) and service.DeletedDate > GETDATE() and DATEDIFF(day,Service.BeginDate, GETDATE()) = 1 --and service.ProvidedToEntityID = 161737
and Enrollment.programID IN (84,87,118,126,119,150)
GROUP BY ProgramName, CONVERT(date,service.BeginDate)
ORDER BY CONVERT(date, service.BeginDate), ProgramName
あなたのグループで同じcase文を置くことで...またはより優れた入力データを変換し、そのCTE以上でグループを使用するCTEを使用します。 –
なぜあなたは 'ProgramName'をそのままで、その値から' CASE'列を選択していますか? –