日期:2014-05-18  浏览次数:20623 次

求更简洁的代码
declare   @aa   int
set   @aa=(select   count(*)   from   测试的表)
declare   @bb   int
set   @bb=1
declare   @xue   varchar(max)
set   @xue= ' '
while   @bb <=@aa
begin
set   @xue=@xue+(select   bo   from   测试的表   where   id=@bb)
set   @bb=@bb+1
end
------
我用以上代码把‘测试的表’中的bo列(只有一个字符或者数字,非空)累加到@xue   中。
求更简洁的代码实现该功能。

------解决方案--------------------
declare @aa int,@bb int
declare @xue varchar(100)

select @aa=count(1) from 测试的表
set @xue= ' '
if @aa is not null
select @xue=@xue+ltrim(bo) from 测试的表 where id between 1 and @aa
print @xue