搜索“交叉表”
最近的帖子:http://community.csdn.net/Expert/TopicView.asp?id=4224442

解决方案 »

  1.   

    楼主要的是这个?
    -----------------------------------------------------------------------
    --生成测试数据
    create table #t(id int,name varchar(80))
    insert into #t select 1,'AAAA'
    insert into #t select 2,'BBBB'
    insert into #t select 3,'CCCC'
    insert into #t select 4,'DDDD'
    insert into #t select 5,'EEEE'
    insert into #t select 6,'FFFF'
    insert into #t select 7,'GGGG'
    insert into #t select 8,'HHHH'--执行查询
    declare @s varchar(8000)
    set @s = ''
    select @s = @s + ','''+name+'''' from #t
    set @s = 'select '+stuff(@s,1,1,'')
    exec(@s)--输出结果
    AAAA BBBB CCCC DDDD EEEE FFFF GGGG HHHH
      

  2.   


    create table t
    (
    c1 varchar(10),
    c2 varchar(10),
    c3 varchar(10),
    c4 varchar(10)
    )insert into t values ('a','b','c','d')
    insert into t values ('x','b','d','u')
    insert into t values ('y','b','c','d')
    insert into t values ('z','b','d','u')
    declare @type varchar(20),@str varchar(4000)
    set @type=' varchar(10),'     ----定义字段类型
    set @str='create table tt('   
    select @str=@str+c1+@type from t
    set @str=substring(@str,1,len(@str)-1)+')'
    exec (@str)
    /*测试*/
    select * from tt
      

  3.   

    测试结果
    /*得到 table tt */
    ---------------------
    a    x   y   z