次のようなemp
テーブルがあります
empnum deptno salary
----- ------ ------
1 null null
null 2 null
null null null
null null 3
5 null 4
null 6 1
結果セットが次のようになるようにしたい
result
------
1
2
0
3
5
4
6
1
ある場合
はを3 nulls
表示し0
、他の 2 つの値を挿入されたのと同じ順序で表示する
必要があります。「2 つの null」がある場合は、結果セットに 1 つの値を表示する必要があります。 only one null
私が試してみました
select rs from
((select decode(empno||deptno||sal,null,0,substr(empno||deptno||sal,1,1)as rs,rowid as ri from emp)
union
((select decode(empno||deptno||sal,null,0,substr(empno||deptno||sal,2,1)as rs,rowid as ri from emp)
minus
(select decode(empno||deptno||sal,null,0,substr(empno||deptno||sal,1,1)as rs,rowid as ri from emp)))
where rs is not null
order by ri,rs;
上記のクエリは結果を次のように返します
rs
--
1
2
0
3
4
5
1
6
上記のように正確な結果セットを取得するのを手伝ってくれる人はいますか。
前もって感謝します..