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