我有一个mysql数据库,其中包含多个具有相同列的表(不是我的设计决策)。这些表的动态命名就像codes_1,codes_2 ....我想执行一个查询,它将获取codes_1和codes_2的内容(行),并将它们合并为一个结果。
我已经有了可以使用SCHEMA_INFORMATION.table_name返回表名的sql,但我无法弄清楚如何根据名称查询每个表,以及如何将每个表的结果合并为一个结果。
所以实际上这里有两个问题:
如何根据作为查询结果返回的表名查询多个表?
在对每个表进行选择后,如何将表中的所有行合并为一个结果?
答案 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`