私はVB.NET2008でこのタイプのクエリを使用しましたが、実行するたびに致命的なエラーが発生し、使用した@variableを宣言するように指示されます。以下はサンプルコードです。
select js.year, js.week, js.rem_balance,
       case when js.rem_balance = 0 
                then @prev_rem_balance 
            else js.rem_balance 
       end as rem_balance_zero_or_prev,
       @prev_rem_balance := js.rem_balance
from test_jos_stock js
       inner join (SELECT @prev_rem_balance := 0) as t
order by year,week;