製品番号、販売額、および週ごとの販売量を示す 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
誰かが私がここで間違っていることを提案してもらえますか? これは達成可能であるように思われます。