2012-11-26 59 views
-1

我有2次的查詢,當它工會SQL甲骨文聯盟與NULL值

查看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中的空值):

A B C 

2 3 

2 3 4 

我怎樣才能獲得的?

+1

那麼如何ABT 4一個答案? –

+2

你誤解了聯合運營商。它提供了一組不同的查詢結合在一起的查詢,因此得到的結果。請解釋您用來生成所需結果集的邏輯。 (當你說「2覆蓋視圖Y @屬性A中的空值」時,你是什麼意思?) –

+0

對不起,我的解釋不夠詳細。 2,我的意思是存儲在屬性X,數字2的數據。sqlfiddle解決了我的查詢。感謝所有新手。 – user1801941

回答

1

試試這個

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

+0

謝謝。它像仙丹一樣工作。我是oracle sql的入門者,但我學到了一些東西。 – user1801941

0

下面是Oracle

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;