declare @sql varchar(2000)
set @sql=''
select @sql=@sql+name+' as ['+desc+'],'
from 表2
set @sql=left(@sql,len(@sql)-1)exec ('select '+@sql+' into 表3 from 表1')
能否解释一下!
set @sql=''
select @sql=@sql+name+' as ['+desc+'],'
from 表2
set @sql=left(@sql,len(@sql)-1)exec ('select '+@sql+' into 表3 from 表1')
能否解释一下!
declare @sql varchar(2000)
--设置初值
set @sql=''
--给变量赋值,即从表2中取name字段的值,取其别名为desc
select @sql=@sql+name+' as ['+desc+'],'
from 表2
--把别名后面的逗号去掉['+desc+'],--这个逗号
set @sql=left(@sql,len(@sql)-1)
--执行SQL语句,动态SQL语句要用exec执行
exec ('select '+@sql+' into 表3 from 表1')
这句没有解释哦,还有,如果表1是几个表查旬出来的呢!
比如:
表1的内容是
select a.el_no,b.el_size,b.mt_qty,a.unit
from 表4 a
left join 表5 b on 表4.el_no=表5.el_no
where a.el_no like '01%'
我改怎么写