求助!这样的结果怎么实现?
假如在SQL有一个这样的表:
a b
205 202001,204001,206001
302 301001,301002
现在要把它变成一个这样的表:
a b
205 202001
205 204001
205 206001
302 301001
302 301002
怎么实现?
谢谢了!!
select top 8000 a=identity(int) into # from syscolumns a,syscolumns b
select a.a,b=substring(a.b,b.a,charindex(',',a.b+',',b.a)-b.a)
from bb a,# b
where len(a.b)>b.a
and substring(','+a.b,b.a,1)=','
and substring(a.b,b.a,1)<>','
order by a.a,b.a
drop table #
go
楼上的大哥,这样就可以了吗,不要用游标吗?有点看不懂.能不能在指点一下,多谢
select top 8000 a=identity(int) into # from syscolumns a,syscolumns b
select a.a,b=substring(a.b,b.a,charindex(',',a.b+',',b.a)-b.a)
from bb a,# b
where len(a.b)>b.a
and substring(','+a.b,b.a,1)=','
and substring(a.b,b.a,1)<>','
order by a.a,b.a
drop table #
go
楼上的大哥,谢谢你了,结果是正确的,只是有一点不懂,这里面没有用到循环语句,怎么实现循环的呢?
想交个朋友,我的QQ是:43937783,到深圳南山这边的话我请你们吃饭