2

一个快速的技术问题-

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

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

谢谢

4

3 回答 3

7

你会用UNION

UNION 用于将多个 SELECT 语句的结果组合成一个结果集。

mysql:http ://dev.mysql.com/doc/refman/5.6/en/union.html (Access也支持)

于 2012-06-18T14:25:42.103 回答
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)
于 2012-06-18T14:28:27.873 回答
1
[Your first query]

UNION

[Your second query]
于 2012-06-18T14:25:46.440 回答