sum求和时怎样去重复值?

xBoady 2010-09-30 03:35:35
SELECT SUM(DISTINCT CASE WHEN BG_BG_Type =2 THEN ISNULL(b.BG_Freight,0.00)-ISNULL(a.BG_Freight,0.00) WHEN BG_BG_Type=3 THEN ISNULL(BG_DCharge,0.00) ELSE 0 END) FROM BA_Bargain a LEFT JOIN BG_Bargain b ON a.BGID=b.BGID AND a.BG_OP_Time>='2010-09-26' AND a.BG_OP_Time<'2010-10-26' AND b.BG_TNode='100625' AND (BG_BG_Type=2 or BG_BG_Type=3)
现在执行的效果是:((10+30+40)-(15+30+40))+((20+6+1)-(5+6+1))
我想要原始运费为第一次的,原始送货费为第二次的,也就是说原始运费是第一次修改的,送货费是最后一次修改的记录。。。?DISTINCT是不是只能去第一次的。。。

BA_Bargain(变更原始表)
BGID , BG_Freight (变更前的运费) ,BG_DCharge(原始送货费), BG_OP_Time
001 , 10 ,20,2010-09-26 01:00:00 (第一次)
001 , 11 ,10,2010-09-26 01:59:59 ( 第二次,然而没有变化)
002 , 30 ,6,2010-09-26 02:33:00
003 , 40 ,1,2010-09-26 03:00:00
BG_Bargain(变更后表)
BGID , BG_Freight(变更后的运费),BG_DCharge
001 , 15,5
002 , 30,6
003 , 40,1
...全文
563 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ya_Pian 2010-09-30
  • 打赏
  • 举报
回复
先去重复再求和啦
SQLCenter 2010-09-30
  • 打赏
  • 举报
回复
云里来雾里去
xBoady 2010-09-30
  • 打赏
  • 举报
回复
想要的效果是:((10+30+40)-(15+30+40))+((10+6+1)-(5+6+1))
xBoady 2010-09-30
  • 打赏
  • 举报
回复
BA_Bargain(变更原始表)
BGID,BG_OP_Time,BG_SNode,BG_TNode,BG_Freight,BG_DCharge,BG_BG_Type

BG_Bargain(变更后表)
BGID,BG_SNode,BG_TNode,BG_Freight,BG_DCharge,BG_BG_Type

具体的表结构是这样子的。。。变更原始表是最原始的数据(变更前的数据)
飘零一叶 2010-09-30
  • 打赏
  • 举报
回复
乱啊对方答复
百年树人 2010-09-30
  • 打赏
  • 举报
回复
请提供表结构,测试数据,算法和你想要的结果
资源下载链接为: https://pan.quark.cn/s/1bfadf00ae14 在编程中,求和是一项基础且常见的任务,尤其适合初学者练习。本文将重点介绍如何使用for循环来实现奇数求和的功能。for循环是一种迭代控制结构,其基本形式为:for 变量 in 序列:执行语句。其中,变量会依次取序列中的每个,而执行语句则是需要重复执行的代码块。 以“1到100的奇数求和”为例,我们可以这样实现:首先初始化一个变量sum_of_odds为0,用于存储奇数和。然后通过for循环遍历从1到100的整数序列(由range(1, 101)生成),在循环体内,使用if i % 2 != 0判断当前数字是否为奇数,如果是奇数,则将其累加到sum_of_odds中。最后输出sum_of_odds的,即为1到100之间的奇数和。这种方法不仅适用于1到100的范围,还可以通过修改range()函数的参数来计算任意范围内的奇数和。 除了使用for循环,我们还可以借助列表推导式和sum()函数来简化奇数求和的实现。例如,对于1到100的奇数求和,可以先使用列表推导式[i for i in range(1, 101) if i % 2 != 0]生成一个包含所有奇数的列表,再通过sum()函数直接计算该列表中奇数的和。这种方法更加简洁高效,且易于理解。 通过求解奇数求和问题,初学者可以更好地掌握for循环、条件判断以及基本的数学运算等编程概念。在学习过程中,建议多思考、多尝试,逐步提升编程思维和技能,为后续更复杂的编程任务打下坚实基础。

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧