2012-06-18 44 views
2

快速技术问题-追加查询

我有两个查询输出一些相同的数据。例如,假设两个查询都有X列和Y列,每列都有一行,每列有一些数据。所以,我们在每个查询中都有单元格X1和单元格Y1。

我将如何去附加两个查询,以便仍然有两列X和Y,但是两行?

感谢

回答

1
[Your first query] 

UNION 

[Your second query] 
4

你可以使用UNION,但要记住列的数量必须相同:

mysql> select * from test_big; 
+-------------+ 
| id   | 
+-------------+ 
|   10 | 
|   11 | 
| 123456789 | 
| 1234567890 | 
| 12345678901 | 
+-------------+ 
5 rows in set (0.00 sec) 

mysql> select * from test; 
+----+------+ 
| id | name | 
+----+------+ 
| 0 | a | 
| 2 | 3 | 
| 3 | none | 
| 6 |  | 
| 9 | a | 
| 11 | a | 
| 50 | a | 
+----+------+ 
7 rows in set (0.00 sec) 

mysql> select * from test_big union select * from test;; 
ERROR 1222 (21000): The used SELECT statements have a different number of columns 
ERROR: 
No query specified 

但你可以使用相同数量的列修复它

mysql> select * from test_big union select id from test; 
+-------------+ 
| id   | 
+-------------+ 
|   10 | 
|   11 | 
| 123456789 | 
| 1234567890 | 
| 12345678901 | 
|   0 | 
|   2 | 
|   3 | 
|   6 | 
|   9 | 
|   50 | 
+-------------+ 
11 rows in set (0.00 sec)