select @sql1=@sql1+','+cast(col1 as varchar),
@sql2=@sql2+','+cast(col2 as varchar),
@sql3=@sql3+','+cast(col3 as varchar)
from t
select @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 t
col1 col2 col3
-------------------- ----------- -----------
a 1 4
b 2 5
c 3 6