数据库效果:我们对sys_user 表中 username 是祺祺 的 city字段进行 行转列
转换之后效果:
方法一:关联 mysql.help_topic 表 使用help_topic_id字段
SELECT DISTINCT
su.province,
SUBSTRING_INDEX( SUBSTRING_INDEX( su.city, ',', b.help_topic_id + 1 ), ',', - 1 ) AS city
FROM
sys_user su
LEFT JOIN mysql.help_topic b ON b.help_topic_id < ( LENGTH( su.city ) - LENGTH( REPLACE ( su.city, ',', '' )) + 1 )
WHERE
username = '祺祺';
方法二:创建一个序列号表 sequence 存储序列号,进行关联
SELECT DISTINCT
su.province,
SUBSTRING_INDEX( SUBSTRING_INDEX( su.city, ',', b.id + 1 ), ',', - 1 ) AS city
FROM
sys_user su
LEFT JOIN sequence b ON b.id < ( LENGTH( su.city ) - LENGTH( REPLACE ( su.city, ',', '' )) + 1 )
WHERE
username = '祺祺';