--将表某个字符串拆分生成多行数据
--创建测试
create table TableA (col1 varchar(10),col2 varchar(100))
insert into TableA
select 'abc','111,222,333' union all
select 'bcd','222,333'
--想生成这样
/*
col1 col2
abc 111
abc 222
abc 333
bcd 222
bcd 333
*/
---------------------
--测试方法
SELECT TOP 4000
id = identity(int,1,1)
INTO #Temp
FROM syscolumns a, syscolumns b --这里什么意思?
SELECT A.col1, col2 = SUBSTRING(A.col2, B.ID, CHARINDEX(',', A.col2 + ',', B.ID) - B.ID)
FROM TableA A, #Temp B
WHERE SUBSTRING(&