exec(@sqlstring)就可以了,详细清参考相关帮助

解决方案 »

  1.   

    create table t (Title1 varchar(10),Title2 varchar(10),Money int)
    insert into T select '张山','语文',100
    union all select '李四','英语',78
    union all select '王五','数学',87
    union all select '张山','数学',67
    union all select '李四','语文',80
    union all select '李四','数学',90
    union all select '王五','语文',88declare @sql varchar(4000)set @sql='select title1'
    select @sql=@sql+','+quotename(Title2)+N'=(case  Title2 when '+QUOTENAME(Title2,N'''')+N' then Money  end)'
    from T 
    group by Title2 
    set @sql=@sql+' from  T order by Title1'
    print @sql
    exec(@sql)drop table t
      

  2.   

    @sqlstring 可以用变来量合成 如@tablename='tb_student'
    @sqlstring ='select * from '+@tablename
    exec(@sqlstring)@tablename可以变量形式赋值
      

  3.   

    哇塞 真的可以 谢谢sh_caizicheng(每天一小步,成就一大步)  同时也谢谢你 jxdjxd1111(qqq)