私は、複数のテーブルの結合n結合を含むクエリに取り組んでいます。希望の結果が得られましたが、これらの結果を特定の順序で取得したいので、全体を結果は1つの列に従って順序付けされています。ここ は、私が働いているコードの抜粋です:で注文する
select name, age
from UserUni
order by age
union all
select age, Name
from UserOffice
order by age
私は、複数のテーブルの結合n結合を含むクエリに取り組んでいます。希望の結果が得られましたが、これらの結果を特定の順序で取得したいので、全体を結果は1つの列に従って順序付けされています。ここ は、私が働いているコードの抜粋です:で注文する
select name, age
from UserUni
order by age
union all
select age, Name
from UserOffice
order by age
私たちは両方のステートメントでorder byを使用することはできません。なぜなら、最後の結合は1つの結果の終わりを与え、2つのorder byステートメントをどのように使用することが可能になるからです。 ここで詳細を確認できます。
https://finalcodingtutorials.blogspot.ae/2017/03/order-by-clause-with-union-in-sql-server.html
うまくいけば、それはあなたが声明によって完全な詳細や労働組合との順序をお知らせしますあなたの問題を解決します。
問題は、組合の終わりに組合を置くことによって解決されました。このブログで与えられた詳細は非常に意味があります。ありがとう –
だけUNION
クエリの最後にORDER BY
句を追加し、それはクエリ全体に適用する必要があります。
select name, age
from UserUni
union all
select name, age
from UserOffice
order by age
UNION
クエリの後半に表示される列の順序を入れ替えたのは、同じ列に年齢と名前を入れても意味がないためです。 UNION
クエリの一般的な要件は、クエリの両方の半分ですべての列の型と数が同じであることです。 1つの例外はMySQLであり、数字とテキストを混在させるように見えるかもしれませんが、この場合でも暗黙的な型変換がフードの下で行われます。
参照:http://stackoverflow.com/questions/4715820/how-to-order-by-with-un-union、つまり100以上のアップボックスの回答。 – ira