2016-12-02 2 views
1

2つのselect文があります。私はそれらを組合わせる。ユニオンの結果のエイリアシング

select * from t1 
union all 
select * from t2 

結果にエイリアスを付けることはできますか?何かのようになります

union all as t3 

仕事ですか?

+0

何あなたが念頭に置いているエイリアスで達成しようとしていますか? –

+0

@Timには基本的にテーブルがたくさんあります。最初の2つのテーブルと2つのテーブルを結合するか、別のテーブルまたは別の結合の結果との結合の結果を返します。このすべては、他のいくつかの声明で分けられるかもしれません。 –

+0

次に、1つ以上のCTEを使用して物事を整理しておくことを検討することがあります。 –

答えて

8
あなたは確かに UNIONクエリ自体別名設定できる

:あなたはUNIONクエリを再利用する方法をしたい場合は

SELECT t.* 
FROM 
(
    SELECT * FROM t1 
    UNION ALL 
    SELECT * FROM t2 
) t 

、あなたが共通テーブル式(CTE)を使用することを検討することができます

WITH cte AS (
    SELECT * FROM t1 
    UNION ALL 
    SELECT * FROM t2 
) 
SELECT * FROM cte 
+1

最初のSQLの例では、実際には必要ない場合でも範囲変数を割り当てることができます。 'SELECT t。*'をちょうど 'SELECT *'に変更してください。これはやや愚かです。 CTEは優れています! – onedaywhen

関連する問題