首页 > 其他 > 详细

逗号分隔字段,序列化表方法实现列转行

时间:2020-02-02 13:22:28      阅读:72      评论:0      收藏:0      [点我收藏+]

逗号分隔字段,序列化表方法实现列转行

 

qujing表:

技术分享图片

 

 

创建序列表:

create table tb_sequence(id int auto_increment not null,primary key(id));
insert into tb_sequence values(),(),(),(),(),(),(),(),();

技术分享图片

 

 分解步骤1:

    SELECT
        user_name,
        concat(mobile, ,) AS mobile,
        length(mobile) - length(REPLACE(mobile, ,, ‘‘)) + 1 AS size
    FROM
        qujing AS b

 

技术分享图片

 

 

分解步骤2:

SELECT * FROM
    tb_sequence AS a
CROSS JOIN (
    SELECT
        user_name,
        concat(mobile, ,) AS mobile,
        length(mobile) - length(REPLACE(mobile, ,, ‘‘)) + 1 AS size
    FROM
        qujing AS b
) AS b ON a.id <= b.size

技术分享图片

 

 

列转行sql:

SELECT
    user_name,
    REPLACE (
        substring(
            substring_index(mobile, , , a.id),
            char_length(
                substring_index(mobile, ,, a.id - 1)
            ) + 1
        ),
        ,,
        ‘‘
    ) AS mobile
FROM
    tb_sequence AS a
CROSS JOIN (
    SELECT
        user_name,
        concat(mobile, ,) AS mobile,
        length(mobile) - length(REPLACE(mobile, ,, ‘‘)) + 1 AS size
    FROM
        qujing AS b
) AS b ON a.id <= b.size

技术分享图片

 

 

 

 

技术分享图片

 

逗号分隔字段,序列化表方法实现列转行

原文:https://www.cnblogs.com/ooo0/p/12251621.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!