mysql合并来自多个表的行

时间:2018-01-25 17:55:58

标签: mysql sql

我有一个mysql数据库,其中包含多个具有相同列的表(不是我的设计决策)。这些的动态命名就像codes_1,codes_2 ....我想执行一个查询,它将获取codes_1和codes_2的内容(行),并将它们合并为一个结果。

我已经有了可以使用SCHEMA_INFORMATION.table_name返回表名的sql,但我无法弄清楚如何根据名称查询每个表,以及如何将每个表的结果合并为一个结果。

所以实际上这里有两个问题:

  1. 如何根据作为查询结果返回的表名查询多个表?

  2. 在对每个表进行选择后,如何将表中的所有行合并为一个结果?

1 个答案:

答案 0 :(得分:4)

这是你要找的吗?根据您的偏好编辑列,您从未指定过表名,因此我只将它们命名为table_1和table_2。

SELECT codes_1, codes_2, codes_3 FROM `table_1`
UNION 
SELECT codes_1, codes_2, codes_3 FROM `table_2`