--先执行这个建立一个序数表
select top 8000 identity(int,1,1) id into 序数表 from sysobjects a,sysobjects b--然后这样就OK了
select id号,substring(','+class,bb.id+1,charindex(',',','+class+',',bb.id+1)-bb.id-1) 结果
from 你的这个表 aa,序数表 bb 
where substring(','+class,bb.id,8000) like ',_%'
order by id号,bb.id

解决方案 »

  1.   

    不过,您要是有时间的话,最好能帮我解释一下每一句的含义。我只能看懂select语句的部分。
    但其他那些部分就不明白了。要是有什么资料上有讲这个的话,麻烦告诉我,我买一些学学。谢谢!
      

  2.   

    select top 8000 identity(int,1,1) id into #dali from sysobjects a,sysobjects b
    declare @dali table (a int,b varchar(100))
    insert @dali values (1,'aaaaaaaaa,bbbbb')
    insert @dali values (2,'cc,rr,kk')
    select a,substring(','+b,id+1,charindex(',',','+b+',',id+1)-id-1)
    from @dali aa,#dali bb 
    where substring(','+b,id,8000) like ',_%'
    order by a,id
    drop table #dali
    完全拷贝到查询分析器里,执行,再慢慢研究吧