SQL Query将1个值拆分为3行

时间:2012-08-23 13:36:27

标签: sql sql-server

我的要求就像。我有3列& 1排。

Column A -> Value a
Column B -> Value b
Column C -> Value 123

我必须在C列中拆分值并从中获取3行,并且还要复制其他列中的值。我必须得到3行,它应该是:

Column A -> Value a , a , a
Column B -> Value b , b , b
Column C -> Value 1, 2, 3

任何想法?

1 个答案:

答案 0 :(得分:6)

试试这个:

create table test(cola varchar(10),colb varchar(10),colc varchar(10))

insert into test select 'a','b','123'


    ;WITH CTE AS(
    select cola,colb,LEFT(colc,1) colc,RIGHT(colc,len(colc)-1) as rem from test
    union all
    select cola,colb,LEFT(rem,1) colc,RIGHT(rem,len(rem)-1) as rem from CTE
    where LEN(rem) >= 1
    )
    select cola,colb,colc from CTE