declare @sql varchar(4000)
set @sql=''
select @sql=@sql+'['+name+'],'
from syscolumns
where id=object_id('t_moon')
and name not in('jd','pname','asum')
set @sql=left(@sql,len(@sql)-1)
print('select jd,pname,'+@sql+',asum from t_moon')在表pname中的name都是1-31,当我查询出来时,它的排序就变了,并没有从1-31这样排,
请教一下各位大侠,应该怎样才能按数字的大小来排列呢?谢谢!
set @sql=''
select @sql=@sql+'['+name+'],'
from syscolumns
where id=object_id('t_moon')
and name not in('jd','pname','asum')
set @sql=left(@sql,len(@sql)-1)
print('select jd,pname,'+@sql+',asum from t_moon')在表pname中的name都是1-31,当我查询出来时,它的排序就变了,并没有从1-31这样排,
请教一下各位大侠,应该怎样才能按数字的大小来排列呢?谢谢!
set @sql=''
select @sql=@sql+'['+name+'],'
from syscolumns
where id=object_id('t_moon')
and name not in('jd','pname','asum') order by colid
set @sql=left(@sql,len(@sql)-1)
print('select jd,pname,'+@sql+',asum from t_moon')
set @sql=''
select @sql=@sql+'['+name+'],'
from syscolumns
where id=object_id('t_moon')
and name not in('jd','pname','asum')
set @sql=left(@sql,len(@sql)-1)
print('select jd,pname,'+@sql+',asum from t_moon Order By pname')
谢谢楼上两位!
请问:xeqtr1982(vesslan)
colid是代表什么呢?它好像并不是关键字呢...
set @sql=''
select @sql=@sql+'['+name+'],'
from syscolumns
where id=object_id('t_moon')
and name not in('jd','pname','asum')
set @sql=left(@sql,len(@sql)-1)
exec('select jd,pname,'+@sql+',asum from t_moon Order By pname')
exec才看得到效果吧。另外,“表pname中的name都是1-31”,pname是字段啊,怎麼成了表了。
Select colid,name From syscolumns Where id=object_id('t_moon') Order By colid