私はこのようなテーブルを持っています:
Country Project InvCode InvName Site WorkLoad StartDate EndDate
USA 1234 2020 Jane Box 101 20 2012-02-10 2013-04-15
USA 1234 2020 Jane Box 102 35 2013-02-10 2013-07-15
USA 2222 2140 James Smith 101 5 2012-10-10 2013-12-05
USA 2222 2590 Susan Falco 410 12 2013-05-10 2015-12-20
USA 2250 2140 James Smith 401 8 2013-04-01 2013-07-18
テーブルに 4 つの列を追加しました: StartYear、StartMonth から StartDate および EndYear, EndMonth から EndDate (クエリの作成に役立つことを願っています)
StartYear StartMonth EndYear EndMonth
2012 2 2013 5
2013 2 2013 7
2012 10 2013 12
2013 5 2015 12
2013 4 2013 7
目的の出力は次のようになります。すべての月を収めることはできませんでしたが、EndDate から最大の Month-Year になるはずです。私のテーブルには、2013 年 1 月から 2015 年 12 月までの列があります。
country|Project|InvCode|INvName|Site|StartDate|EndDate|Jan-13|Feb-13|Mar-13|Apr-13|May-13|.
USA|1234|2020|Jane Box |101|2012-02-10|2013-05-15| 20 20 20 20 0
USA|1234| 2020|Jane Box |102|2013-02-10|2013-07-15| 0 35 35 35 35
USA|2222|2140|James Smith|101|2012-10-10|2013-12-05| 5 5 5 5 5
USA|2222| 2590|Susan Falco|410|2013-05-10|2015-12-20| 0 0 0 0 12
USA|2250|2140|James Smith|401|2013-04-01|2013-07-18| 0 0 0 8 8
StartDate が 2013 年 1 月より前の場合は、2013 年 1 月から開始して同じ値 (たとえば、EndDate までの各月に 20 など) を割り当て、EndDate の後に 0 から最大 EndDate までを割り当てます。
StartDate が 2013 年 1 月より後の場合、StartDate の前の月に 0 を割り当て、StartDate の月と同じ月から開始し、EndDate までの各月に同じ値を割り当てます。たとえば、StartDate が 2013 年 2 月、EndDate が2013 年 7 月、ワークロード = 35、2013 年 1 月の場合は値 0 が割り当てられ、2013 年 2 月から 2015 年 7 月までは値 35 が割り当てられます。終了日の後に、0 から最大の終了日を割り当てます。
よろしくお願いします!