1

製品番号、販売額、および週ごとの販売量を示す Sales テーブルがあります。これらの値とボリュームを前週の同等の値とともに表示するレポートを作成する必要があります。また、現在の週の前の週番号を示す Weeks テーブルもあります (たとえば、現在の週が 2013-01 の場合、前の週の値は 2012-52 です)。

したがって、Weeks テーブルの製品番号と前の週番号で Sales の別のインスタンスに結合するのは簡単だと思いました。ただし、Teradata ではこれを実行できません。最初はエラーがImproper column reference in the search condition of a joined tableスローされ、Sales の 2 番目のインスタンスの前に週を参照するようにクエリを再注文すると、実行しようとしましたがNo more spool spaceエラーが発生したため、私のアプローチが間違っていると思います. 私のSQLは次のとおりです。

select s.Week_Number,
       s.Product_Number,
       s.Sales_Value,
       s.Sales_Volume,
       s_lw.Sales_Value,
       s_lw.Sales_Volume

   from SALES s
  inner join WEEKS w 
     on s.Week_Number = w.Week_Number
   left join SALES s_lw 
     on     s.Product_Number = s_lw.Product_Number
        and s_lw.Week_Number = w.Last_week_Number

誰かが私がここで間違っていることを提案してもらえますか? これは達成可能であるように思われます。

4

1 に答える 1