日期:2014-05-17 浏览次数:20523 次
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
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中在结果窗口中看见,如果调用这个存储过程,你只能接收到最后一个月的结果集。