2013-03-30 31 views

回答

1

使用UNION來組合三個查詢的結果。

UNION將刪除最終結果上唯一行上的重複結果。如果您想保留重複行,請使用UNION ALL

SELECT * FROM Table1 WHERE condition1 
UNION 
SELECT * FROM Table2 WHERE condition2 
UNION 
SELECT * FROM Table3 WHERE condition3 

警告:柱(以及數據類型)的數量必須在每個選擇語句匹配。

更新1

根據您的評論如下,您正在尋找JOIN

SELECT a.*, b.*, c.* 
FROM table1 a 
     INNER JOIN table2 b 
      ON a.ColName = b.ColName 
     INNER JOIN table3 c 
      ON a.ColName = c.ColName 
-- WHERE .. add conditions here .. 

爲了進一步獲得更多的知識有關加入,請訪問以下鏈接:

+0

可悲的是,我所有的表都具有用戶不同的結構 – SzRaPnEL

+0

如果是這種情況,那麼你至少需要選擇重要的一次..你能給你的期望結果sanple記錄,所以我們可以找到另一種方式? –

+0

或者您可以爲每個缺失的列添加「NULL作爲colname」。你沒有說什麼「結合」的意思。如果你描述你想要做什麼和*爲什麼*,你可能會得到更有幫助的答案。 –

1

你也還可以查詢像 SELECT * FROM用戶那裏BDAY> '1970年5月20日' UNION ALL SELECT * FROM其中BDAY < '1970年1月20日'