zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    RegExp实例
    Date类型之组件方法
    Date类型之继承方法
    数组常见方法下
    Math对象
    数组常见方法上
    CSS变量
    基本类型和引用类型
    Python习题集(十五)
    Python习题集(十四)
  • 原文地址:https://www.cnblogs.com/xiaojitui/p/9310201.html
Copyright © 2011-2022 走看看