変数(last_weekなど)を計算し、それをメインデータセット(new_jなど)に追加しようとしています。私はnew_jに参加することができました。しかし、その変数(last_week)を今後の計算に使用したい場合、それを認識しません。私のコードは次のとおりです。新しい計算された変数をSQLのメインデータセットに追加する
SELECT [Weekkey] AS weekkey
,[article/colour] as prod_id
,[Current MP Department No/Desc] as prod_dept
,[Total Stock] as total_stock
INTO #new_j
FROM [J_20160831] --(that’s the db in server and I created a temp db #new_j)
SELECT prod_id, max(weekkey) as last_week
into #lastweeksales
FROM #new_j
group by prod_id
select *
from #new_j
left join #lastweeksales
on #lastweeksales.prod_id = #new_j.prod_id
私はこのコードを実行すると、last_weekという列が表示されます。今私がしたいことはこれです:
select *
,case
when last_week = max(weekkey) then total_stock
else 0
end as last_stock_position
from #new_j
しかしlast_weekはnew_jに見つかりません。最後のコードでlast_weekの代わりに#lastweeksales.last_weekも試しましたが、どちらもしませんでした。ここで最善の方法は何ですか?さらに、代わりにそれを行うより良い方法はありますか?私が最後に持っている出力は、これらの変数を持つテーブルです:WeekKey、prod_dept、prod_id、total_stock、last_week、last_stock_position
ありがとうございます!それは非常に感謝しています。この
select * from #new_j left join #lastweeksales
on #lastweeksales.prod_id = #new_j.prod_id'
newjとlastweekalesのすべての列を選択することにより、
おかげ株式会社は、まさに私の質問のthats。 #lastweeksalesにあるlast_week列と#new_jにあるtotal_stock列を使用して新しい変数を計算するにはどうすればよいですか?両方に参加するとデータセットは結合されますが、それでも新しいデータセットとしては保存されません。そのように結合されたデータセットを新しいデータセットとして保存するにはどうすればよいですか? – Shraddha
私は答えを更新しました。私はこれがヘルプであると思います。答えとしてマークしてください。 –
ありがとうKK!しかし、これは私が探していた行にありますが、このエラーが発生しました。カラム '#new_j.weekkey'は、集約関数またはGROUP BY節に含まれていないため、選択リストでは無効です。 :/ – Shraddha