0

私のデータベースには、フィールド, , , , , ...,を持つビュー があります。RevenuesProductIDEditionIDYearJanuaryFebruaryMarchDecember

年と月のすべての収益を 1 つのレコードProductIDにExcel で表示する必要があります。EditionIDそのために、次のクエリを実行します。

SELECT *
FROM Revenus r1
JOIN Revenues r2
ON r1.ProductID = r2.ProductID
AND r1.EditionID = r2.EditionID
WHERE r1.[Year] <> r2.[Year]

ProductIDと ごとに最大 2 つの異なる年がある場合、これは完全に機能しEditionIDます。ただし、このシートは予測目的にも使用されるためYear、10 年間の期間で と 月を使用するように依頼されました。つまり、データベースに既に存在するデータに加えて、2013 年から始まる 2023 年までの年と関連する月が必要Yearです。データベースにまだデータがない場合、月に関連するデータはゼロに等しくなければなりません。

ピボットテーブルで試しましたが、正しい解決策とは思えません。foreach を試してみるかもしれませんが、悪い習慣である Web を読みました。最善の解決策は、まだ少し汚れていますが、既存のデータをオンザフライで構築されたビューに結合し、数か月間空のレコードを作成し、「反復」ごとに年を増やすことです。誰か助けてくれる?ありがとう

アップデート

クエリの例

2015年から2023年まで同じ

4

0 に答える 0