2012-04-13 50 views
0

預先感謝幫助合併拖表,不存在混合行

我拖表中的SQL Server,我想聯合他們沒有混行的流通:

T1 IS

ID Name 

    1  john 
    2  Lol 

T2是

ID Name 

    1  Normi 
    2  CRI 

,如果我做選擇喜歡這樣:從 選擇ID,名稱T1聯盟選擇ID,從T2 名稱的結果會是怎樣

ID Name 
1  john 
1  Normi 
2  Lol 
2  CRI 

但對我來說我想要的結果就像

ID Name 
    1  john 
    2  Lol 
    1  Normi 
    2  CRI 

請幫助重新

回答

3
SELECT a.id, a.Name 
FROM 
(select Id,Name, 1 as num from T1 Union select Id,Name, 2 as num from T2)a 
ORDER BY a.num,a.Id 
+0

感謝你在這種情況下'UNION ALL'可能比'UNION'更可取,因爲後者意味着'DISTINCT',因此不必要的中間分類,這是非常昂貴的。 (並且查詢規劃者可能會或可能不會優化它。) – 2012-04-17 08:36:26