请问怎么将字段名转化成记录,例如:A  B  C
1  2  3
4  5  6转化成
A  B  C
A  B  C
1  2  3
4  5  6

解决方案 »

  1.   

    select A='A', B='B', C='C' from tbName
    union all 
    select rtrim(A), rtrim(B), rtrim(C) from tbName
      

  2.   

    create table T(A int, B int, C int)
    insert T select  1,  2,  3
    union all select 4,  5,  6select A='A', B='B', C='C' 
    union all 
    select rtrim(A), rtrim(B), rtrim(C) from T
    --result
    A            B            C            
    ------------ ------------ ------------ 
    A            B            C
    1            2            3
    4            5            6(3 row(s) affected)
      

  3.   

    declare @a varchar(1000)
    set @a='insert test select '
    select @a=@a+char(39)+[name]+char(39)+',' from syscolumns where id=object_id('test')
    select @a=left(@a,len(@a)-1)
    exec(@a)
      

  4.   


    create table T(A int, B int, C int)
    insert T select  1,  2,  3
    union all select 4,  5,  6declare @sql varchar(8000)
    set @sql='select '
    select @sql=@sql+quotename(name)+'='+quotename(name, '''')+',' 
    from syscolumns
    where id=object_id('T')
    order by colid
    select @sql=left(@sql, len(@sql)-1), @sql=@sql+' union all select rtrim(A), rtrim(B), rtrim(C) from T'
    exec(@sql)--result
    A            B            C            
    ------------ ------------ ------------ 
    A            B            C
    1            2            3
    4            5            6
      

  5.   

    union 时列数要相等,列的类型要一致