日期:2014-05-17  浏览次数:20523 次

别名能用参数代替吗
如题!
SQL code
declare  @i int 
set @i=1
while @i<12
begin
select objectname count (income) @i/*这个*/ from test  where months =@i
group by objectname
set @i=@i+1
end


------解决方案--------------------
据我了解,不行,下班
------解决方案--------------------
用拼字符串的方式可以
SQL code

declare  @i int 
set @i=1
while @i<12
begin

exec('select objectname count (income) '+@i+' from test  where months =@i
group by objectname')
set @i=@i+1
end

------解决方案--------------------
我也说,不行
------解决方案--------------------
这个需要按照你给入的@i先动态,或者直接生成一个12个月的临时表格,然后按照你的months值,一部分一部分的插入的临时表,最后返回表格值。

楼上的答案,最后返回的结果集,你只能在SSMS中在结果窗口中看见,如果调用这个存储过程,你只能接收到最后一个月的结果集。