2017-08-09 76 views
1

假設您有兩個查詢。查詢一個結果:Oracle SQL:合併選擇彼此之間的結果

| A | B | C | 
    +---+---+---+ 
    | 1 | 5 | 9 | 
    | 2 | 6 | 10| 

和查詢結果:

| A | B | C | 
    +---+---+---+ 
    | 3 | 7 | 11| 
    | 4 | 8 | 12| 

是否有可能執行的方法的語句來獲得:

| A | B | C | 
    +---+---+---+ 
    | 1 | 5 | 9 | 
    | 2 | 6 | 10| 
    | 3 | 7 | 11| 
    | 4 | 8 | 12| 

會更簡單的解決方案是加入他們?或者如果涉及使用';'分開這兩個選擇我得到一個錯誤使用它。

另外,我還使用了語句間UNIONUNION ALL嘗試,但給出

ORA-00933:SQL命令不能正確地結束

這是Excel的微軟查詢正在做。

回答

1

使用UNION語句。

SELECT * FROM queryA 
UNION ALL 
SELECT * FROM queryB 

WHERE子句保留每個查詢,但ORDER BY移動到最後。

當您使用UNION時,最頂端查詢中列的名稱或別名成爲整個列的別名。所以最後,你可以寫一些類似Order By A的地方,其中A是你的第一個列名。確保您沒有在最上面的查詢以外的查詢中指定別名。