baihuashu116 2020-11-21 13:07 采纳率: 100%
浏览 1158
已采纳

达梦 数据库 以逗号分割的列如何按逗号拆分 实现列转行

C1,C2,C3,C4

就像这样以逗号分割的列,如何按逗号进行拆分,转为和原行ID对应的多行。

  • 写回答

1条回答 默认 最新

  • 愤世嫉俗的胖子 2020-11-23 09:11
    关注

    需要一个辅助的序列表 series,里面是自然数 1-n

    select a.key_col, 
    		cast(substring(',' + t1.input_string + ',', 
    					max(s1.seq + 1), (s2.seq - max(s1.seq + 1))) as integer) as col_split,
    		count(s2.seq) as place
    from inputstrings as t1, series as s1, series as s2
    where substring(',' + t1.input_string + ',', s1.seq, 1) = ','
    and   substring(',' + t1.input_string + ',', s2.seq, 1) = ','
    and s1.seq < s2.seq
    and s1.seq <= DATALENGTH(t1.input_string) + 1
    group by t1.key_col, t1.input_string, s2.seq
    order by key_col, place
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改