现有sql server2000查询分析器下的代码如下,我如何能将sum(bb)的值付给变量@s,神啊救救我吧。declare @a float,@x varchar(100),@s float
set @x='select "@s"=sum(bb) from aaaaa'exec (@x) select @s
set @x='select "@s"=sum(bb) from aaaaa'exec (@x) select @s
解决方案 »
- move函数在把string串移到pchar串时的小问题,高手进,在线等
- 如何缩短TSocketConnection 连接时间
- Delphi中如何从格式化的字符串中得到数据?
- 一个关于子类与父类的问题,急,在线==========
- FastReport中Memo跨页显示问题被截短问题
- 何解?
- Delphi自带的控件里有没有类似checkbox那样有checked值的按钮?按钮按下去选中,再按一次按钮恢复不选中?
- 能不能用delphi开发dhtml的?请告诉一般的方法!谢了
- Delphi求指点
- 如何在菜单项中加入32*32的大图标?
- Delphi Server 页中的 有关 Excel的一组控件如何用啊?
- 任意封闭图形填充的更好算法???
declare @a float,@x varchar(100),@s float
select @s=sum(bb) from aaaaaselect @s
declare @a float,@x varchar(100),@s float
select "@s"=sum(bb) from aaaaaset @x=@sexec (@x) select @s
declare @fd varchar(10)
set @fd='bb'
set @x='select "@s"=sum('+@fd+') from aaaaa'
//--
@fd有可能是从别的地方传过来的一个字段名称,那么我如何实现上面的功能呢?
有一个办法繁了点但可实现类似的功能,考虑到你的列肯定有限的几个就用
case语句吧根据不同的列值执行不同的 sum语句,执行可以放到相同的变量里。
select @s=sum(i) from t
select @s
//@a,@x都没用呀!!
‘有一个办法繁了点但可实现类似的功能’不知道这个是个什么办法,能否抽点时间教导一番,愿听其详
如果是这样的话,因为列不会太多而且肯定有限个:
所以这样: declare @col varchar(20)
declare @sum intset @col='col1'select @sum=
case
when @col='col1' then sum(col1)
when @col='col2' then sum(col2)
end
from talename /*output*/
select @sum