前提・実現したいこと
ウィンドウ関数について質問です
OracleからSQLserverに変更したいのですがエラーとなります
ご教授お願い致します
該当のソースコード
Oracle SELECT nOrder_ID ,vcItem ,nQty ,SUM(nQty) OVER (ORDER BY nOrder_ID ROWS BETWEEN DECODE(vcItem, 'Banana', 1, 0) PRECEDING AND DECODE(vcItem, 'Banana', 1, 0) FOLLOWING ) FROM Test_Orders(NOLOCK) SQLserver SELECT nOrder_ID ,vcItem ,nQty ,SUM(nQty) OVER (ORDER BY nOrder_ID ROWS BETWEEN (SELECT CASE vcItem WHEN 'Banana' THEN 1 ELSE 0 END FROM Test_Orders PRECEDING) AS 'a' AND (SELECT CASE vcItem WHEN 'Banana' THEN 1 ELSE 0 END FROM Test_Orders FOLLOWING) AS 'b' ) FROM Test_Orders(NOLOCK)
試したこと
DECODEをCASE式に変更
エラーメッセージ
2021/03/10記載
メッセージ 102、レベル 15、状態 1、行 6
'(' 付近に不適切な構文があります。
メッセージ 156、レベル 15、状態 1、行 6
キーワード 'AS' 付近に不適切な構文があります。
メッセージ 156、レベル 15、状態 1、行 8
キーワード 'AS' 付近に不適切な構文があります。
`
あなたの回答
tips
プレビュー