【发布时间】:2016-08-31 14:48:03
【问题描述】:
我在使用 SQL Azure 的数据库中进行了查询,该查询逐月返回一组办公室和这些办公室内的员工的一组销售数据,如下图所示: 返回此的查询称为 vwOfficeAndNegSalesTotals,如下所示:
选择办公室ID, DATENAME(Month,PipelineDate) + ' ' + DATENAME(Year,PipelineDate) as [PipelineMonth], 办公室名称, 谈判者, 状态, SUM(Fee) 作为 FeeValue 来自 vwBankingProjections 按 OfficeID 分组, DATENAME(Month,PipelineDate) + ' ' + DATENAME(Year,PipelineDate), 办公室名称, 谈判者, 状态, DATEPART(月,管道日期), DATEPART(YEAR,PipelineDate)我需要添加另一列,它为该行中的谈判者提供年初至今的 FeeValue 总计,其中“迄今为止”的年份意味着直到并包括该行的月份。此外,它应该只计算状态为 Payment received 的 FeeValue。
所以,它会返回如下内容:
从 vwOfficeAndNegSalesTotals 的结构中可以看出,它所基于的查询 (vwBankingProjections) 确实包含实际日期,而不仅仅是文本 Month + Year - 这些日期在 PipelineDate 列中。
我的第一次尝试得到了当年的总数,查看 2016 年 5 月的一行(在撰写本文时)将是年初至今,但它只需要显示截至该日期提到的年份的总数行(因此,如果查看 2016 年 4 月的一行,则为 2016 年 1 月至 2016 年 4 月的总数)。如果它有任何帮助,这就是我想出的:
选择办公室ID, DATENAME(Year,PipelineDate) 作为 [PipelineYear], 办公室名称, 谈判者, SUM(Fee) 作为 YTDFee 来自 vwBankingProjections WHERE 状态(“已收到付款”) 按 OfficeID 分组, DATENAME(年,管道日期), 办公室名称, 谈判者如果有人可以提供帮助,我将不胜感激,因为这超出了我的技能范围。
非常感谢
安德鲁
【问题讨论】:
标签: sql sql-server tsql azure-sql-database