fid fname fcode
-----------------------------
01 y 1,2
02 y 1,2
03 z 2,3
04 z 2,3转为
fid fname fcode
-----------------------------
01 y 1
01 y 2
02 y 1
02 y 2
03 z 2
03 z 3
04 z 2
04 z 3用sql语句转两表的格式,实际上就是以逗号分开fcode字段,形成一新行。fcode可能是多个以逗号分隔的数字如:1,2,3,4,5,n....
我实际应用中字段也不仅是这三个,现就以三个为例。
昨天有扬帆朋友帮我弄了,但是以两字段为例,没研究透,所以请再帮我弄个多字段的。
整个系统就差这一处就交差了,万望大家出手帮我

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/5581/5581995.xml?temp=.3377649扬帆,多个字段都可以的.只要你的1,2,3,4,5,n....是以','号分隔的就可以了
      

  2.   

    我说的字段是id,name code 字段。因为没有理解不够,所以不会扩展,写一下吧,真是不好意思
      

  3.   

    --建立环境 drop table #tt
    create table #TT (
    id varchar(20),
    name  varchar(10),
    field1 varchar(50)
    )insert #TT select
    -------------------
    1,'a', '1'
    union all select
    2,'b', '2'
    union all select
    3,'c', '2,3'
    union all select
    4,'d', '1,2'go--用 动态语句
    declare @sql varchar(8000)
    set @sql='select '
    select @sql=@sql+''''+id+''' as id,'''+ --在这加
    ''+name+''' as name,'''+replace(field1,',',''' as Field1 union all select '
    +''''+id+''' as id,''' --在这加
    +''+name+''' as name,''')+''' as Field1 union all select'
    from #TTset @sql=left(@sql,len(@sql)-17)
    print @sqlexec( @sql)
    你自己print出来,你就会明白的了