SSRS 2005 を使用してレポートを作成し、さまざまなカテゴリ (登録時間、残業など) の時間の合計を表示しています。
SELECT OGL.PACostCenter, vpt.LL6, sum((vpt.timeinseconds*1.0)/3600) [Hours]
FROM totals as vpt
INNER JOIN OracleLookup OGL on vpt.LL6 = OGL.OracleCostCenter COLLATE SQL_Latin1_General_CP1_CI_AI
WHERE vpt.DATE BETWEEN @StartDate AND @EndDate
AND vpt.PAYCODENAME in ('519-H-Overtime 1.0',
'519-H-Holiday OT 1.5',
'519-H-Overtime 1.5',
'519-H-Overtime 2.0',
'519-H-Regular')
GROUP BY OGL.PayrollAccount, vpt.LL6
ORDER BY OGL.PayrollAccount, vpt.LL6
合計時間は問題ありませんが、それを分解して、残業のみ、通常の時間のみ、およびすべての合計の列を作成できるようにしたいと考えています。誰もが知っている簡単でクリーンな方法はありますか? 別のデータ セットを使用してみましたが、期待したとおりに動作しませんでした。また、サブクエリのようなものは、非常に面倒で冗長になるように思われました。