create table t
(col1 int,col2 int,col3 int)insert t
select 1,2,3 union all
select 4,5,6declare @sql varchar(8000),
        @sql1 varchar(8000),
        @sql2 varchar(8000),
        @sql3 varchar(8000)select @sql='',@sql1='select ''a'' ',@sql2='select ''b''',@sql3='select ''c'''select @sql1=@sql1+','+cast(col1 as varchar),
       @sql2=@sql2+','+cast(col2 as varchar),
       @sql3=@sql3+','+cast(col3 as varchar)
from tselect @sql='create table #(col1 varchar(20),col2 int,col3 int) insert #
            '+@sql1+' union all
            '+@sql2+' union all
            '+@sql3+'
            select * from #
            drop table #'exec(@sql)
drop table tcol1                 col2        col3        
-------------------- ----------- ----------- 
a                    1           4
b                    2           5
c                    3           6(所影响的行数为 3 行)