如何合并同名列数据并将多表最大id及对应字段整合为单表

实现方法
你可以用 UNION ALL 拼接三个表的查询结果,每个查询单独取出对应表中最大id的那一行数据,就能得到符合要求的结果,不会出现重复列。
假设你的三个表分别名为 table1、table2、table3,每个表都包含 id、nser、rssi 字段,对应的SQL语句如下:
SELECT id, nser, rssi FROM table1 WHERE id = (SELECT MAX(id) FROM table1) UNION ALL SELECT id, nser, rssi FROM table2 WHERE id = (SELECT MAX(id) FROM table2) UNION ALL SELECT id, nser, rssi FROM table3 WHERE id = (SELECT MAX(id) FROM table3);
说明
- 每个子查询
SELECT MAX(id) FROM 表名用来获取对应表的最大id值,外层查询则取出该id对应的整行数据。 UNION ALL会将三个查询的结果按行合并,最终输出的结果里只会保留id、nser、rssi各一列,每行对应一个表的最大id数据,完全匹配你的需求。
如果你的表名或者字段名有差异,替换对应的名称即可。
内容的提问来源于stack exchange,提问作者Luanne Lima
相关产品推荐
相关产品推荐

