【发布时间】:2013-08-11 05:22:02
【问题描述】:
您好,我正在编写以下查询,但结果不是我需要的
第 1 节
选择 case_PrimaryCompanyId 为 companyid, 转换(VARCHAR(7),ca.case_createddate,111)作为日期, 'Moving Balance' 作为 InvoiceType, 总和(mb.Amount)作为金额 来自 ca 的案例第 2 节
左连接 ( 选择 case_PrimaryCompanyId 为 companyid, 案例创建日期, case_TotalExVat 作为金额 来自案例)mb 约case_primaryCompanyId = mb.companyid 和 ca.case_createdDate >= mb.case_CreatedDate 在哪里 ca.case_primaryCompanyId = companyid 通过...分组 case_primaryCompanyId, 转换(VARCHAR(7),ca.case_createddate,111)好的,所以上面会得到一个如下的数据列表,并按月和年分组,并汇总自时间开始以来的数量。
日期 实际金额 2009 年 10 月 20 日 1766.52 2009 年 7 月 11 日 2778.02 14/01/2010 -2700.00 28/02/2010 -78.02 27/05/2010 2489.40 2010 年 5 月 27 日 2491.20 2010 年 5 月 30 日 2494.80一切正常,计算每个月的累积值。
直到我到 2010 年 5 月,然后为可能的每条记录计算移动余额,而不是可能的一次(而不是在组值更改时仅计算一次)
动平衡结果 日期显示应该是 2009/10 1766.52 1766.52 2009/11 2788.02 2788.02 2010/01 78.02 78.02 2010/02 0.00 0.00 2010/05 22426.20 7475.50试过了 sum(distinct mb.Amount) 但这不起作用
任何想法都将不胜感激 谢谢 雷切尔
【问题讨论】:
-
看起来您正在使用 SQL Server。哪个版本?
标签: sql