• sql sever使用sql语句查询数据, 分割某字段改为多行,其它字段保持不变


    如表中有A、B、C三个字段,数据如下:

    A         B       C

    1,2      3       4

    要求查询结果:

    A         B       C

    1         3       4

    2         3       4

    查询语句:

    with t as 
    (
    	select B,C
            ,A=case charindex(',',A) when 0 then A else left(A,charindex(',',A)-1) end
            ,Aleft=case charindex(',',A) when 0 then '' else substring(A,charindex(',',A)+1,len(A)) end
        from 表名
    	WHERE 1=1  --条件,看个人需求
        union all 
        select B,C
            ,A=case charindex(',',Aleft) when 0 then Aleft else left(Aleft,charindex(',',Aleft)-1) end
            ,Aleft=case charindex(',',Aleft) when 0 then '' else substring(Aleft,charindex(',',Aleft)+1,len(Aleft)) end
        from t
        where Aleft <> ''
    ) 
    select A,B,C from t
    

      

  • 相关阅读:
    jmeter配置mysql数据库步骤
    postman断言分析
    API测试工具postman使用总结
    量化投资与Python之NumPy
    量化投资与Python
    排序
    node.js
    VUE之搭建脚手架
    VUE之ECMAScript6(es6)
    VUE之随笔小总结1
  • 原文地址:https://www.cnblogs.com/xiaojitui/p/9310201.html
Copyright © 2020-2023  润新知