日期:2014-05-18  浏览次数:20655 次

sql语句求助!如何动态创建表?如何order by 2000个字段?如何group by 1999个字段?
1、我想sql语句执行过程中动态生成一个management表,这个表有200个字段,如何实现?
create table management(it1,it2,...,it100)
括号里的那一百个字段能不用手写自动生成吗?比如弄个变量k,1<=k<=100,然后生成it1到it100?

2、我要对employment表中的按全部一百个字段进行升序排序,order by ui1,ui2,ui3,...,ui2000。即第一个相同时,按第二个排序,第二个相同时,按第三个排序,......,因为字段太多了,我不想手写,怎么实现?

3、我要对employment表按后99个字段进行分组,group by er2,er3,...,er2000。这个我也不想一个一个的手写,怎么实现?

请求大家会的尽快回复我,在线等!!先拜谢各位!

------解决方案--------------------
SQL code

declare @num int
set @num=1
declare @str varchar(max)
set @str='create table tbl('
declare @sql varchar(1000)
set @sql=''
while @num<=100
begin
set @sql=ISNULL(@sql,',')+'col'
+CAST(@num as varchar)+' int,'
set @num=@num+1
end
set @str=@str+left(@sql,LEN(@sql)-1)+')'
print @str
exec(@str)
创建表