0

私は以下のように見える2つのテーブルを持っています

最初の表:

   DealNum      CurrencyValue      CurrencyCode       Date

    110             100                 AA         01/12/2011  
    111             200                 AB         01/11/2011
    112             120                 AC         01/10/2011  
    113             20                  AA         01/11/2011
    110             103                 AD         01/12/2011  
    115             200                 AD         01/11/2011
    119             120                 AG         01/10/2011  
    130             20                  AK         01/11/2011

2番目のテーブル

   CurrencyCode     OCT       NOV      DEC     JAN   ..

      AA             0.91     0.88     0.9     0.94  
      AB             0.9      0.8      0.96    0.89
      AC             0.81     0.79     0.82    0.84  
      AD             0.4      0.41     0.42    0.39
      AE             0.9      0.92     0.91    0.94  
      AF             0.8      0.82     0.83    0.81

次に、次の条件で、2番目のテーブルのデータを新しい列の最初のテーブルに追加します。

1.It has to do based on the CurrencyCode and month
2.If the deal is from DEC and currencyCode is AA , then it has to take the value 0.9,
  if the deal is from NOV and currencyCode is AA , then it has to take the value 0.88..

したがって、結果は次のようになります。

   DealNum      CurrencyValue      CurrencyCode       Date        NewColumn

    110             100                 AA         01/12/2011        0.9
    111             200                 AB         01/11/2011        0.8
    112             120                 AC         01/10/2011        0.81  
    113             20                  AA         01/11/2011        0.88
    110             103                 AD         01/12/2011        0.42
    115             200                 AD         01/11/2011        0.41
    119             120                 AG         01/10/2011         --
    130             20                  AK         01/11/2011         --

最初のテーブルの月の行の値を2番目のテーブルの月の列の値と比較してこれを行う方法がわかりません。これで私を助けてください。

前もって感謝します。

乾杯、ハリッシュ。

4

1 に答える 1

1

これは機能するはずですが、2 番目のテーブルは適切に設計されていません。

SELECT   DealNum      
       , CurrencyValue      
       , CurrencyCode       
       , Date
       , Deal = 
         CASE MONTH(t1.Date)
           WHEN 1 THEN t2.JAN
           WHEN 2 THEN t2.FEB
           WHEN 3 THEN t2.MAR
           -- .....
           WHEN 10 THEN t2.OCT
           WHEN 11 THEN t2.NOV
           WHEN 12 THEN t2.DEC
        END
FROM Table1 t1 
INNER JOIN Table2 t2 ON t1.CurrencyCode = t2.CurrencyCode 
于 2012-04-20T10:23:19.143 に答える