2010-02-25 101 views
5

這可能嗎? 使用SQL Server 2005 .......T-SQL UNION在3個表上?

SELECT * 
FROM Data0304 
UNION 
SELECT * 
FROM Data0506 
UNION 
SELECT * 
FROM Data0708 
+2

你嘗試運行這個了嗎?有任何問題嗎?什麼沒有用? – shahkalpesh 2010-02-25 17:27:22

回答

7

只要列所有三個表在同一個,但你可能需要使用UNION ALL以確保重複都包括在內。

+2

並且應該指定列名而不是使用'*'。 – RedFilter 2010-02-27 12:54:15

4

當你說

列相同

這意味着,

列數和數據類型和 它們的長度和它們的順序

應該是相同的。

UNION

將包括重複的記錄只在結果一次

UNION ALL

將包括所有的重複記錄。

+0

謝謝,這正是我所需要的。關於「列是相同的」的澄清是非常有用的。 – ShiningLight 2014-06-26 14:48:08

1

以包括重複的記錄,你必須使用UNION ALL而不是UNION

SELECT * 
FROM Data0304 
UNION ALL 
SELECT * 
FROM Data0506 
UNION ALL 
SELECT * 
FROM Data0708