0

私はこのようなテーブルを持っています:

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 から最大の終了日を割り当てます。

よろしくお願いします!

4

1 に答える 1