有字段
number   Detail
  15        a
  41        b
  42        c要做出这下图一样的数据组
 De1  De2  De3  De4  De5  De6  De7  De8  De9  De10
  a    a    a    a    a    a    a    a    a    a
  a    a    a    a    a    b    b    b    b    b
  b    b    b    b    b    b    b    b    b    b
  b    b    b    b    b    b    b    b    b    b
  b    b    b    b    b    b    b    b    b    b
  b    b    b    b    b    b    c    c    c    c 
  c    c    c    c    c    c    c    c    c    c  
  c    c    c    c    c    c    c    c    c    c 
  c    c    c    c    c    c    c    c    c    c 
  c    c    c    c    c    c    c    c    也就是排齐.我真的不知道怎么做了,帮忙啊!

解决方案 »

  1.   

    将表转换成
    number   Detail
    1         a
    2         a
    .         .
    .         .
    .         .
    15        a
    16        b
    .         .
    .         .
    .         .
    55        b
    56        c
    .         .
    .         .
    .         .
    然后根据number除10取余数,做行列转换
      

  2.   

    --原始数据:#test
    create table #test(number int,Detail varchar(1))
    insert #test
    select 15,'a' union all
    select 41,'b' union all
    select 42,'c'select top 100 number=identity(int,1,1) into #number from syscolumns,sysobjects
    declare @sql varchar(8000),@i int
    set @i=0
    select @sql=coalesce(@sql+case when @i%10=0 then ' union all select ' else ',' end,'select ')+''''+b.Detail+'''',@i=@i+1 from #number a join #test b on a.number<=b.number
    if @i%10<> 0 set @sql=@sql+replicate(',''''',10-@i%10)
    print @sql
    exec(@sql)/*
    a a a a a a a a a a
    a a a a a b b b b b
    b b b b b b b b b b
    b b b b b b b b b b
    b b b b b b b b b b
    b b b b b b c c c c
    c c c c c c c c c c
    c c c c c c c c c c
    c c c c c c c c c c
    c c c c c c c c
    */drop table #test,#number
      

  3.   

    Limpire(昨夜小楼)   
    牛!
    顶你!!
      

  4.   

    我说Limpire(昨夜小楼)你还真是有贴必回啊。呵呵
    速度也比较快。。顶你下
    不顶不爽~!