select #t1.20090608数据 from #t1 
order by  2 

解决方案 »

  1.   

    不行
    或者这样
    declare @fieldname varchar(200)
    select top 1 @fieldname = name from tempdb..syscolumns where id = object_id('tempdb..#t') order by colidexec('select ' + @fieldname + ' from #t ')
      

  2.   


    帅哥,我就是不要这样找。
    因为我的列名其实没那么好,从EXCEL读出来 是一长串中文。 
      

  3.   

    select top m * into 临时表(或表变量) from tablename order by columnname -- 将top m笔插入到临时表 
    set rowcount n   --只取n条结果
    select * from 表变量 order by columnname desc 
      

  4.   

    大哥,关键是找第一列书啊。倒不是列名用变量了。
    其实列名从EXCEL读出来很BT,比如:“5月31日各经销店整车资源\资金占用情况表     单位 :RMB”这竟然是列名
    我不想再到程序层通过便历列来处理,想数据层就处理,但是不知道怎么指定就读默认第一列呢?
      

  5.   

    需求是EXCEL文件数据读到SQL 中。我想直接写SQL 实现。就有个列的名字不固定,所以想指定列来取数
      

  6.   

    select 1 from from #t1 肯定不行 因为它会把1当做一个列的默认值
      

  7.   

    -- =========================================
    -- -----------t_mac 小编-------------
       ---希望有天成为大虾---- 
    -- =========================================IF OBJECT_ID('tb') IS NOT NULL
      DROP TABLE tb
    GO
    CREATE TABLE tb(啊啊啊撒旦撒旦撒的 varchar(100),ss int)
    go
    insert into tb
    select  'sdsadasdasdsada' ,1union all
    select  'sdsadasdsdsada' ,2
    go
    select 啊啊啊撒旦撒旦撒的  as a  into #a from tb 
    select * from #a
    /*------------
    sdsadasdasdsada
    sdsadasdsdsada
    -------*/
      

  8.   

    CREATE TABLE T(AAA INT,BBB INT,CCC INT)
    INSERT T
    SELECT 1,1,1 union all
    select 2,2,2 union all
    select 3,3,3declare @fieldname varchar(200)
    select top 1 @fieldname = [name] 
    from syscolumns 
    where id = object_id('T') order by colidexec('select ' + @fieldname + ' from T ')AAA
    -----------
    1
    2
    3海爷的办法可行
      

  9.   

    CREATE TABLE #T(AAA INT,BBB INT,CCC INT)
    INSERT #T
    SELECT 1,1,1 union all
    select 2,2,2 union all
    select 3,3,3declare @fieldname varchar(200)select top 1 @fieldname = [name]
     from tempdb..syscolumns 
    where id = object_id('tempdb..#T') order by colidexec('select ' + @fieldname + ' from #T ')AAA
    -----------
    1
    2
    3
      

  10.   


    自己搞定:
    declare @tname as varchar(200)
    select @tname =
    '#t1.['  + (SELECT name FROM tempdb..syscolumns where id=object_id('tempdb..#t1')
    and name not like 'F%') + ']'print @tnameexec ('select ' + @tname   +   ' as t1,#t1.* from  #t1 ')
      

  11.   

    是要到syscolumns去找,
    谢谢这位大哥了。