プロジェクト スケジュールの詳細を示す表があります。
ProjectID | StartMonth | EndMonth
---------------------------------
1 2 5
2 3 8
3 6 10
クエリを実行して、各プロジェクトの月ごとに 1 つの行を生成したいと考えています。たとえば、ProjectID = 1 の場合、2 ~ 5 か月の行が必要です。
ProjectID | Month
-----------------
1 2
1 3
1 4
1 5
2 3
2 4
2 5
2 6
2 7
2 8
3 6
3 7
3 8
3 9
3 10
私は Access を使用していますが、StackOverflow コミュニティの利益のために、プラットフォームに依存しないソリューションを構築したいと考えています。
頭に浮かぶ唯一の手法はfor
、最も内側のループの各反復で行を結合する二重ループです。
何かご意見は?
更新/明確化
StartMonth と EndMonth は、ユリウス日を基準とした整数値です。たとえば、エントリは次のようになります。
ProjectID | StartMonth | EndMonth
---------------------------------
10 2 236
これは、システムが開始から 2 か月目から 236 か月目までプロジェクトを監視していたことを意味します。2 番目から 236 番目の月の間に発生したイベントのみを記録します。
何ヶ月もの間、イベントは発生せず、何も発生しません。PM は、すべての月の行があり、システムにアクティビティが記録されていない月の行がゼロのテーブルが必要です。