0

2つのビューについてクエリがあります。

Xを表示

A    B    C

2    3

Yを表示

A    B    C

     3    4

これは2つのビューからの私のクエリです

select * from view X
UNION 
select * from view Y;

私が持っていた結果:

A    B    C

2    3   

     3    4

私が望んでいた結果(2はビューY @属性Aのnull値をオーバーライドします):

A    B    C

2    3   

2    3    4

どうすればそれを入手できますか?

4

2 に答える 2

2

これを試して

select nvl(A, lag(A) over (order by rownum)), B, C from (
  select A, B, C from X
  union 
  select A, B, C from Y
)

sqlfiddle

于 2012-11-26T07:18:30.340 に答える
0

これがオラクルの1つの答えです

select * from 
(select x from tbl1
union 
select x from tbl2) t1
,
(select y from tbl1
union 
select y from tbl2) t2
,
(select z from tbl1
union 
select z from tbl2) t3
where t1.x is not null
order by t1.x desc nulls first;
于 2012-11-26T07:58:23.080 に答える