2017-04-02 96 views
0

任何人都可以請幫我我一直在努力查詢包含聯合n多個表的聯接..我已經得到了理想的結果,但我想要得到這些結果在一些特定的順序,所以整個結果按照一列進行排序。 這裏是代碼段的我的工作:在聯盟條款排序

select name, age 
from UserUni 
order by age 
union all 
select age, Name 
from UserOffice 
order by age 
+0

請參閱:http://stackoverflow.com/questions/4715820/how-to-order-by-with-union,即超過100個upvotes的答案。 – ira

回答

0

當我們使用我們不能使用這兩個語句的順序。因爲最後的聯合給出了一個結果,所以怎麼可能使用兩個語句的語句。 你可以在這裏查看細節。

https://finalcodingtutorials.blogspot.ae/2017/03/order-by-clause-with-union-in-sql-server.html

希望它能夠解決您的問題將讓你知道的陳述完整詳細信息或工會和秩序。

+0

這個問題已經通過把工會放在工會聲明的最後解決了。這個博客給出的細節非常有意義。謝謝 –

1

而就在UNION查詢的末尾添加一個ORDER BY條款,並應適用於整個查詢:

select name, age 
from UserUni 
union all 
select name, age 
from UserOffice 
order by age 

請注意,我交換了UNION查詢後半部分出現的列的順序,因爲將年齡和名稱放在同一列中是沒有意義的。通常在UNION查詢中要求所有列的類型和數量在查詢的兩半中相同。一個例外可能是MySQL,它似乎可以混合數字和文本,但即使在這種情況下,一些隱式類型轉換也會在引擎蓋下發生。