sql 如何把一个变量的值写成表

来源:百度知道 编辑:UC知道 时间:2024/06/01 07:05:36
declare @sql varchar(8000)
set @sql='select left(spbh,10) as spbh,left(spmch,10) as spmch,leibie'
select @sql=@sql+','+#2.dawmch+'=isnull(sum(case dawmch when '''+#2.dawmch+''' then shl end),0)'
from #2
set @sql=@sql+'from #1 group by spbh,spmch,leibie order by spbh'

print @sql
exec(@sql)

我要把这个@sql写成一个临时表 谢谢各位大侠了!!!!!!!!!!
相当于是把行转换成列后 把这个结果写到一个表里去 希望大家提供一个方法

建议使用表变量
你可以使用表变量
declare @temp table([id] int IDENTITY(1,1),[Name] varchar(10))
--定义方法
insert into @temp ([Name]) values('a') --这是赋值方法
insert into @temp ([Name]) values('b')
insert into @temp ([Name]) values('c')
insert into @temp ([Name]) values('d')

select * from @temp --输出
用这个也能做到 你要的效果
我感觉用临时表浪费资源

select ... into #表 from ...

select into 语法你查一下