mysql union 不同的列, 然后根据user_id字段将多列合并
时间: 2024-03-06 19:49:03 浏览: 108
mysql实现合并同一ID对应多条数据的方法
可以使用 MySQL 的 GROUP_CONCAT 函数将多列合并成一列,具体的 SQL 查询语句如下:
```
SELECT user_id, GROUP_CONCAT(col1, col2, col3 SEPARATOR ', ') AS merged_cols
FROM (
SELECT user_id, col1, NULL AS col2, NULL AS col3 FROM table1
UNION
SELECT user_id, NULL AS col1, col2, NULL AS col3 FROM table2
UNION
SELECT user_id, NULL AS col1, NULL AS col2, col3 FROM table3
) AS subquery
GROUP BY user_id;
```
该查询语句首先使用 UNION 将多个表的不同列合并,然后将结果进行分组,再使用 GROUP_CONCAT 函数将分组后的不同列合并成一列,以逗号分隔。其中,使用 NULL 表示某个表没有该列。最后,根据 user_id 字段进行分组。
阅读全文