2

解決できない問題があります。私はMicrosoft SQL Server 2008で作業しており、4つの列を持つテーブルがあります

Id
Date (2013-07, 2013-08, 2011-03, etc)
Amount 1 (100, 150, etc.) 
Amount 2 (100, 80, etc.)

Amount 1 > 150次に、値を列名として使用して新しい列を作成し、値の1 か月後に始まる 6 つの (日付) 期間にDate分配する必要がある場合。Amount 2Date

次のようになります。

      Id  Date      Amount 1  Amount 2
      ----------------------------------
      1   2013-07    160         60
      2   2013-10    180         80                            

      Id  Date     Amount 1  2013-08  2013-09  2013-10   2013-11   2013-12  2014-01 ...
      --------------------------------------------------------------------------------
      1   2013-07    160         10       10      10         10        10      10
      2   2013-10    180                                     20        20      20...   

これを行う方法がわかりません。どんな助けも大歓迎です!ありがとうございました!

4

1 に答える 1

1

非正規化されたテーブル構造になるため、テーブル自体にこれらの追加の列を含めることはできません。多くの場合、これはデータを保存するための不適切な方法です。ただし、既存のテーブルに対して簡単にクエリを実行して、必要な形式で追加の列を返すことができるため、この方法で表示できます。PIVOT と UNPIVOT を確認してください。

于 2013-07-23T16:24:06.613 に答える