SQL Server Management Studio 2005でストアドプロシージャを作成して、月ごとと年ごとの2つの異なる期間の状態とポリシーカウントのリストを返します。Reporting Servicesレポートで使用するために必要なデータとストアドプロシージャを収集するために、いくつかのビューを作成しました。
以下は私のストアドプロシージャです。
SELECT DISTINCT
S.[State],
COUNT(HP_MTD.PolicyID) AS PolicyCount_MTD,
COUNT(HP_YTD.PolicyID) AS PolicyCount_YTD
FROM tblStates S
LEFT OUTER JOIN vwHospitalPolicies HP_MTD ON S.[State] = HP.[State]
AND HP.CreatedDate BETWEEN DATEADD(MONTH, -1, GETDATE()) AND GETDATE()
LEFT OUTER JOIN vwHospitalPolicies HP_YTD ON S.[State] = HP.[State]
AND HP.CreatedDate BETWEEN DATEADD(YEAR, -1, GETDATE()) AND GETDATE()
GROUP BY S.[State]
ORDER BY S.[State] ASC
私が遭遇している問題は、2番目のLEFT OUTER JOINが追加されたときに、2番目の結合を参照していないCOUNT()でさえ、カウントが肥大化していることです。すべての州が特定の期間のポリシーを持っているわけではないので、左参加が必要ですが、それでもレポートに表示されるはずです。
任意の提案をいただければ幸いです!