快速技术问题-追加查询
我有两个查询输出一些相同的数据。例如,假设两个查询都有X列和Y列,每列都有一行,每列有一些数据。所以,我们在每个查询中都有单元格X1和单元格Y1。
我将如何去附加两个查询,以便仍然有两列X和Y,但是两行?
感谢
快速技术问题-追加查询
我有两个查询输出一些相同的数据。例如,假设两个查询都有X列和Y列,每列都有一行,每列有一些数据。所以,我们在每个查询中都有单元格X1和单元格Y1。
我将如何去附加两个查询,以便仍然有两列X和Y,但是两行?
感谢
你会使用UNION
UNION用于将结果从多个SELECT语句 合并成一个结果集。
的mysql:http://dev.mysql.com/doc/refman/5.6/en/union.html (其支持Access还)
[Your first query]
UNION
[Your second query]
你可以使用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)