私はしばらくの間、この問題に頭がおかしくなり、助けを求めています。
次のように、値を持つ SQL Server テーブルがあります。
Account - Date - Amount - Summary
10000 - 2010-1-1 - 50.00 - 0.00
10000 - 2010-2-1 - 50.00 - 0.00
10000 - 2010-3-1 - 50.00 - 0.00
10000 - 2010-4-1 - 50.00 - 0.00
10000 - 2010-5-1 - 50.00 - 0.00
10000 - 2010-6-1 - 50.00 - 0.00
10000 - 2010-7-1 - 50.00 - 0.00
10000 - 2010-8-1 - 50.00 - 0.00
10000 - 2010-9-1 - 50.00 - 0.00
10000 - 2010-10-1 - 50.00 - 0.00
10000 - 2010-11-1 - 50.00 - 0.00
10000 - 2010-12-1 - 50.00 - 600.00
10000 - 2011-1-1 - 25.00 - 0.00
10000 - 2011-2-1 - 25.00 - 0.00
10000 - 2011-3-1 - 50.00 - 0.00
10000 - 2011-4-1 - 50.00 - 0.00
10000 - 2011-5-1 - 50.00 - 0.00
10000 - 2011-12-1 - 25.00 - 825.00
10000 - 2012-1-1 - 100.00 - 0.00
10000 - 2012-2-1 - 200.00 - 0.00
10000 - 2012-3-1 - 100.00 - 0.00
10000 - 2012-5-1 - 100.00 - 0.00
10000 - 2012-6-1 - 100.00 - 0.00
10000 - 2012-8-1 - 100.00 - 0.00
10000 - 2012-12-1 - 100.00 - 1625.00
10001 - 2010-1-1 - 50.00 - 0.00
10001 - 2010-2-1 - 60.00 - 0.00
10001 - 2010-12-1 - 60.00 - 170.00
10001 - 2011-1-1 - 50.00 - 0.00
10001 - 2011-2-1 - 50.00 - 0.00
10001 - 2011-3-1 - 50.00 - 0.00
10001 - 2011-4-1 - 50.00 - 0.00
10001 - 2011-6-1 - 50.00 - 0.00
10001 - 2011-8-1 - 50.00 - 0.00
10001 - 2011-10-1 - 50.00 - 0.00
10001 - 2011-12-1 - 50.00 - 570.00
これは、テーブルの基本的なスナップショットです。「概要」列は、年末の「金額」の合計 (「日付」列に基づく) を示しますが、MONTH(Date) = '12' の場合のみです。何百ものアカウントでこのように進み、さらに約4年も続きます. この既存のテーブルに「SummaryPreviousYear」という列を追加したいと思います。SummaryPreviousYear 列には、MONTH(Date) = '12' と前年の金額の合計が含まれている必要があります。この列をアカウント番号で結合して、概要列の隣に配置し、概要値と同じように値を提供したいと思いますが、SummaryPreviousYear 値は、列全体に存在する必要があります。月が 12 の場所です。たとえば、次の行は次のようになります。
前:
Account - Date - Amount - Summary
10001 - 2011-10-1 - 50.00 - 0.00
10001 - 2011-12-1 - 50.00 - 570.00
後:
Account - Date - Amount - Summary - SummaryPreviousYear
10001 - 2011-10-1 - 50.00 - 0.00 - 170.00
10001 - 2011-12-1 - 50.00 - 570.00 - 170.00
誰でもこれで私を助けることができますか?ここで 2 日間髪を伸ばしており、レポートの作成を進めるためにこのデータセットを作成する必要があります。残念ながら、DBA のオフサイトです。文字通り私の機知に富んだ。どんな助けでも大歓迎です。