我有一数据表,上百个字段(Field),我想全部字段按ASC排序,怎样用Order By,或者有其他的方法吗?
Select * From [表名] Order By .....后面怎样写?

解决方案 »

  1.   

    直接从Object Browser里把字段都拖到Order by后面去
      

  2.   

    declare @s varchar(8000)
    set @s=''
    select @s=@s+','+name from syscolumns where id=object_id('orders')
    set @s=stuff(@s,1,1,'')
    exec('select * from orders order by '+@s+' desc')
      

  3.   

    可以直接order by 1,2,3,4...
      

  4.   

    order by 后面可以跟多个字段,用逗号分隔就行了
      

  5.   

    默认情况下是asc,所以 order by 1,2,3 就行了
    desc 好象每个都要写。order by 1 desc,2 desc,3 desc个人观点 。。
      

  6.   

    上面说的没错。
    lxzm1001(*蓝星之梦*)  的改成这样:
    DECLARE @s varchar(8000)
    SET @s = ''
    SELECT @s=@s+' desc,'+name FROM SYSCOLUMNS WHERE ID=OBJECT_ID('表')
    SET @s = STUFF(@s,1,6,'')
    EXEC('SELECT * FROM FromExcel ORDER BY '+@s+' desc')