想了一下,其实可以用下面的方法来实现,虽然没你想象中灵活,但你要合计的列总是有限的:CREATE FUNCTION GetAFieldSum (@AField varchar(255))
RETURNS int
AS
BEGIN
DECLARE @Result int SELECT @Result=(
CASE @AField
WHEN 'COLUMN_NAME1' THEN SUM(COLUMN_NAME1)
WHEN 'COLUMN_NAME2' THEN SUM(COLUMN_NAME2)
ELSE SUM(COLUMN_NAME3)
)
FROM TABLE_NAME
RETURN(@Result)
ENDDECLARE @Result int
EXEC @Result=GetAFieldSum('COLUMN_NAME1')/**************************************/
/* 学无止境 */
/**************************************/
RETURNS int
AS
BEGIN
DECLARE @Result int SELECT @Result=(
CASE @AField
WHEN 'COLUMN_NAME1' THEN SUM(COLUMN_NAME1)
WHEN 'COLUMN_NAME2' THEN SUM(COLUMN_NAME2)
ELSE SUM(COLUMN_NAME3)
)
FROM TABLE_NAME
RETURN(@Result)
ENDDECLARE @Result int
EXEC @Result=GetAFieldSum('COLUMN_NAME1')/**************************************/
/* 学无止境 */
/**************************************/
解决方案 »
- 关于类的事件
- 庆5.1,为假期仍在电脑前的兄弟姐妹们散分……
- FastReport中如何显示SQL Server中的Text数据类型。
- 请问PASCAL的呼叫惯例是怎么一回事?
- 期望您解说一下DELPHI+ORACLE的问题。
- "字符串数据,右截断(null)"到底是什么错误?
- 自动提示?
- 急,三层结构中双子表数据更新,搞了一个上午,还没找到问题所在,具体进来看一下,拜托了
- 用Canvas.LineTo(round(42+30*(sin(a))),round(40+30*(cos(a))));畫線,那怎樣把這條線清除?
- 哪位大神有 rsa 2048 版的
- 请各位朋友帮我分析一下代吗?
- EXCEL转换问题
在Function中使用Exec只可以执行扩展存储过程,所以我的方法行不通。你的方
法非常好,谢谢。
另外,请你在下面两张贴子上答复一下,让得分有主。:-)
http://www.csdn.net/expert/topic/343/343383.shtm
http://www.csdn.net/expert/topic/343/343382.shtm