【发布时间】:2018-03-27 07:40:45
【问题描述】:
我有一个列值“DateThru”,它的日期值会根据数据库更新日期而变化。我有几个表内部连接,我试图得到一个列(Alloc)的总和,直到“DateThru”日期。我尝试使用
限制表格 where ActivityDate <='DateThru'
但是每当我尝试使用 where 子句时,我都会遇到服务器错误。
我要拉的桌子是这样的
Month ActivityDate Alloc
---------------------------
x 2017-10-01 .0238
x 2017-10-02 .0302
x 2017-10-03 .0156
x 2017-10-04 .0200
x 2017-10-05 .0321
x 2017-10-06 .0123
x 2017-10-07 .0248
假设“DateThru”是 2017-10-05。 我想将 Alloc 从 10-1 加到 10-5,给出“.122”的结果作为 MTDAlloc。
这可以作为“windows 函数”或在 where 子句中完成吗?
谢谢!
我使用 sum over partition 来得到总数
我有正确的工作和组织。我的问题是现在每个“r”都有重复的条目。因此,当我将 ActiveDate
Month rep goal MTDAlloc
----------------------
x r1 20 .122
x r1 20 .122
x r1 20 .122
x r2 20 .122
x r2 20 .122
x r2 20 .122
最终结果将在一行中包含每个唯一的“r”。
Month rep goal Alloc
----------------------
x r1 20 .122
x r2 20 .122
非常感谢您的帮助!
【问题讨论】:
-
您能否显示您的 MTDAlloc 列的预期结果?
-
如果你想要的只是 Alloc 的总和.. 那么它应该是像 Select Month, rep,goal, sum(Alloc) from your table group by month, rep, goal 还是我错过了还有什么?
-
我是通过分区求和得到的!现在只是对
-
你能显示你的查询吗?
-
使用查询编辑的帖子
标签: sql sql-server