2011-01-21 11 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- a-select-query) – grapefrukt

+0

以下では、2つの別々のクエリの結果セットを結合するために、UNIONを使用します。構文と詳細については、MySQLのリファレンスマニュアル(オンラインで人間が読める形式)を確認してください。両方の結果セットに表示される値を保持する場合は、UNION ALLを使用します。 –

答えて

2

UNION文を使用します。

それはのようなものです:そして、あなたのような最後に、ORDER BYを追加することができます

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

(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 
関連する問題