-1

重複の可能性:
ユニオンクエリを使用した結果の順序

SQLServer2008を使用しています。

を使用して2つの選択を結合しUNIONました。2番目の選択により、1行が追加されます。この行を常に一番下に表示したいと思います。これどうやってするの?

4

1 に答える 1

5

ユニオンクエリの各部分に別の列を含め、それを使用して並べ替えることができます。-

select col1, col2, col3 from
(
select col1, col2, col3, 1 as sortorder from table1
union
select col1, col2, col3, 2 as sortorder from table2
) as d
order by sortorder, col1

これにより、2番目のselectステートメントの行が最初の行の後に配置され、その中でcol1の順序になります。

内部クエリの外側でソートしているので、union allではなくunionを使用する唯一の理由は、重複を排除したい場合であることに注意してください。この場合の重複は、両方に共通ではなく、いずれかのクエリ内から発生する必要があります。これは、sortorder列によって2つのクエリが区別されるためです。したがって、おそらくすべてのユニオンを使用する必要があります。

于 2012-12-14T19:51:17.737 に答える