统计
  • 建站日期:2021-03-10
  • 文章总数:10212 篇
  • 评论总数:220 条
  • 分类总数:56 个
  • 最后更新:5月2日
文章 未分类

MySQL.之 一行内容转换多行

小天
首页 未分类 正文

描述:

    将一行记录中的某一列值(值格式:数据之间用英文逗号隔开),将这一数据转换成多行。
例如:表 cds_var 中的 cds_value 中的数据格式:多个id之间使用英文的逗号进行隔开.

MySQL.之一行内容转换多行
-千亿科技 - LCG - LSG|安卓破解|病毒分析|www.qianyicp.com
-第1
张图片
需求: 将上面的 cds_value 的值按照多行进行展示.效果如下:


MySQL.之一行内容转换多行
-千亿科技 - LCG - LSG|安卓破解|病毒分析|www.qianyicp.com
-第2
张图片
解决方案:创建一个序列表(仅有一个字段:存储序列 1-1000),如下:


MySQL.之一行内容转换多行
-千亿科技 - LCG - LSG|安卓破解|病毒分析|www.qianyicp.com
-第3
张图片

MySQL.之一行内容转换多行
-千亿科技 - LCG - LSG|安卓破解|病毒分析|www.qianyicp.com
-第4
张图片

编写SQL语句:

SELECT
    SUBSTRING_INDEX( SUBSTRING_INDEX( C.cds_value, ',', G.ID ), ',',- 1 ) IDS
FROM
    cds_var C
    JOIN var_index G ON G.ID <= ( LENGTH( C.cds_value ) - LENGTH( REPLACE ( C.cds_value, ',', '' ) ) + 1 )
WHERE
    C.cds_code = 'CDS000023'
    AND C.cds_key = 'CHANGE_DATA_IDS';

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
这篇文章最后更新于2022-12-28,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
12月29日,星期四,每天60秒读懂世界,60秒看新闻,最新新闻!
« 上一篇
CyberLink_PowerDVD_v22.0.2415.62 极致蓝光版
下一篇 »
为了防止灌水评论,登录后即可评论!

HI ! 请登录
注册会员,享受下载全站资源特权。