0

在我的数据库中,我有一个带有字段的视图 , , , , , ,..., 。RevenuesProductIDEditionIDYearJanuaryFebruaryMarchDecember

我需要在 Excel 中显示单个记录中的每一年和所有月份的收入ProductIDEditionID为此,我执行查询:

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

如果每个ProductID和最多有两个不同的年份,那将非常有效EditionID。然而,由于该表也将用于预测目的,我被要求拥有Year10 年的 10 和 10 个月。这意味着除了数据库中已经存在的数据之外,从 2013 年开始,我必须有到 2023 年的年份和相关月份。如果数据库中还没有,则月份相关数据必须为零Year

我尝试使用数据透视表,但听起来不是正确的解决方案。我可能会尝试使用 foreach,但我在网上看到这是一种不好的做法。最好的解决方案,但有点脏,可能是将现有数据与动态构建的视图连接起来,其中包含几个月的空记录,并为每次“迭代”增加年份。有人可以帮忙吗?谢谢

更新

查询示例

与 2015 年至 2023 年相同

4

0 回答 0