数据拆分及合并
需求: 使用一条SQL获得tb_user表中每个人持有的剑名(剑名用“|”分隔),即得到如下结果
拆解需求:
1) 先将tb_user表中的c_no按逗号拆分
2)将拆分后c_no中的各个...id与tb_sword中的id关联,获取剑名
3) 最后将每一个user对应的剑名合并成一个字段
分段SQL如下:
步骤1:
每一个user的c_no按逗号拆分为对应的c_id,此方法需借助于mysql.help_topic...SUBSTRING_INDEX( SUBSTRING_INDEX( a.c_no, ',', b.help_topic_id + 1 ), ',',- 1 ) c_id
FROM tb_user a
JOIN mysql.help_topic...SUBSTRING_INDEX( SUBSTRING_INDEX( a.c_no, ',', b.help_topic_id + 1 ), ',',- 1 ) c_id
FROM tb_user a
JOIN mysql.help_topic...SUBSTRING_INDEX( SUBSTRING_INDEX( a.c_no, ',', b.help_topic_id + 1 ), ',',- 1 ) c_id
FROM tb_user a
JOIN mysql.help_topic