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