2011-01-21 31 views
1

我想將來自另一個SQL查詢(不同表)的幾行添加到查詢結果中。例如: -如何綁定不同MySQL查詢產生的行?

SELECT mycol from mytable 

# returns 
mycol 
1 
4 
6 
SELECT anothercol from anothertable 
#returns 
anothercol 
3 
8 
9 

我想獲得的是:

myresult 
1 
4 
6 
3 
8 
9 

目前我做這種與統計軟件包操作的,但我不知道這是否在MySQL中是可能以某種方式。在合併來自不同來源的時間序列時,通常需要這樣做。有SQL方法可以做到嗎?

+0

可能重複[MySQL:爲SELECT查詢合併2個表?](http://stackoverflow.com/questions/1129659/mysql-merge-2-tables-for-一個選擇查詢) – grapefrukt 2011-01-21 11:48:16

回答

2

使用UNION語句。

它是這樣的:

(SELECT * FROM table WHERE column = 34) 
UNION 
(SELECT * FROM table WHERE column2 = 45); 

然後你可以在樣年底加一個ORDER BY:

(SELECT * FROM table WHERE column = 34) 
UNION 
(SELECT * FROM table WHERE column2 = 45) 
ORDER BY column; 
1
SELECT mycol 
FROM mytable 
UNION ALL 
SELECT othercol 
FROM othertable