Oracle11g これまでのSQLFiddleでの作業
varchar2列でlead( )関数とlag()関数を使用しています。次のルールを使用して、目的の結果を生成したいと思います。
- lag_valがnullの場合、'('
- lag_valがset_aと同じ場合、'および'
- lag_val!= set_aの場合、'または'
- Lead_valがnullの場合、')'
nvl()を使用してnull値を変換すると、「無効な数値」が発生するため、比較できます。
必要な出力
SEQNO SET_A LAG_VAL LEAD_VAL MENU_ENTRY
------------------------------------------
1 CAKE <null> CAKE (
2 CAKE CAKE BEER AND
3 BEER CAKE BRATS OR
4 BRATS BEER <null> )