有字段
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 也就是排齐.我真的不知道怎么做了,帮忙啊!
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 也就是排齐.我真的不知道怎么做了,帮忙啊!
number Detail
1 a
2 a
. .
. .
. .
15 a
16 b
. .
. .
. .
55 b
56 c
. .
. .
. .
然后根据number除10取余数,做行列转换
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
牛!
顶你!!
速度也比较快。。顶你下
不顶不爽~!