上の図は、t-SQL テーブルとビューを使用して作成したレポートからの出力のスクリーン キャップです。各列には 2 つの値があり、最初は現在の数値で、スラッシュの後には各週の差分値があります。これらの数値は、私のレポートのほとんどで見栄えがよくなりますが、ご覧のとおり、[合計] 列にはその差に対して完全に誤った値が表示されているようです。
このテーブルは、次のコードを使用して作成されました
SELECT
ISNULL(a.[LRPR Biospecimen Consent], 'Missing') AS Consent,
CONVERT(varchar, a.Oppong) + ' / ' + CONVERT(varchar, a.Oppong - ISNULL(b.Oppong, 0)) AS Oppong,
CONVERT(varchar, a.Tousimis) + ' / ' + CONVERT(varchar, a.Tousimis - ISNULL(b.Tousimis, 0)) AS Tousimis,
CONVERT(varchar, a.Willey) + ' / ' + CONVERT(varchar, a.Willey - ISNULL(b.Willey, 0)) AS Willey,
CONVERT(varchar, a.Anderson) + ' / ' + CONVERT(varchar, a.Anderson - ISNULL(b.Anderson, 0)) AS Anderson,
CONVERT(varchar, a.Bacarra) + ' / ' + CONVERT(varchar, a.Bacarra - ISNULL(b.Bacarra, 0)) AS Bacarra,
CONVERT(varchar, a.McMahon) + ' / ' + CONVERT(varchar, a.McMahon - ISNULL(b.McMahon, 0)) AS McMahon
FROM
dbo.vw_RPT_Ourisman_BiospecimenConsentWithProvider_Pivot a
LEFT OUTER JOIN dbo.tbl_vw_RPT_Ourisman_BiospecimenConsentWithProvider_Pivot b
ON ...
このコードのバリアント (パス名を変更しただけで、スラッシュの両側の数値の合計値が正確になりました。私は初心者の SQL ユーザーであり、このコードが機能しなくなった理由を理解できないようです。
有益なアドバイスは大歓迎です
EDIT 以下は、dbo.vw_RPT_Ourisman_BiospecimenConsentWithProvider_Pivot の合計値を作成するために使用されるコードです。
With T as ( SELECT [LRPR Biospecimen Consent], [Oppong, Bridget A] AS Oppong, [Tousimis, Eleni] AS Tousimis, [Willey, Shawna] AS Willey, [Anderson, Lyndsay] AS Anderson,
[Bacarra, Minna Manalo] AS Bacarra, [McMahon, Ann] AS McMahon
FROM vw_RPT_Ourisman_BiospecimenConsentWithProvider_List c PIVOT (count([Breast Provider]) FOR [Breast Provider] IN ([Oppong, Bridget A], [Tousimis, Eleni],
[Willey, Shawna], [Anderson, Lyndsay], [Bacarra, Minna Manalo], [McMahon, Ann])) piv
WHERE [LRPR Biospecimen Consent] IS NOT NULL)
SELECT *
FROM T
UNION ALL
SELECT 'Total', SUM(Oppong), SUM(Tousimis), SUM(Willey), SUM(Anderson), SUM(Bacarra), SUM(McMahon)
FROM T