- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个存储过程。我有一个名为 #CashFlow 的表,其中包含一段时间的数据。
FundID TradeDate Amount
1 1/1/2004 123.00
1 6/30/2006 100.00
2 1/1/2004 100.00
2 3/15/2010 150.00
3 1/1/2010 100.00
我还有一个名为 #Funds 的表,其中包含我感兴趣的基金 ID 列表。(有一堆处理过程可以为我生成此基金列表,我不会让您感到厌烦)例如,假设我的 #Funds 表中只有 ID 1 和 2(不包括 3)。
我有三个时间段(均以“8/31/2010”结尾),分别从 1/1/2004、1/1/2006 和 1/1/2010 开始,我想汇总这三个时间段的总和三个时期。
我尝试过这样的事情:
select sum(c1.amount), sum(c2.amount), sum(c3.amount)
from
#fundtable f
inner join
#cashflow c1 on f.fundid = c1.fundid and c1.tradedate between '1/1/2004' and '8/31/2010'
inner join
#cashflow c2 on f.fundid = c2.fundid and c2.tradedate between '1/1/2006' and '8/31/2010'
inner join
#cashflow c3 on f.fundid = c3.fundid and c3.tradedate between '1/1/2010' and '8/31/2010'
但它没有做我想做的事(事实上我无法弄清楚它到底在做什么)。如果我只选择一个时间段,我确实会得到该时间段的正确值,但是当我添加其中一个连接时,我的数字就会全部被破坏。
这类似于我试图替换的原始查询:
select
(select sum(Amount) from #Cashflow c inner join #fundtable f on c.fundid = f.fundid where tradedate between '1/1/2004' and '8/31/2010') as 'Period1',
(select sum(Amount) from #Cashflow c inner join #fundtable f on c.fundid = f.fundid where tradedate between '1/1/2006' and '8/31/2010') as 'Period2',
(select sum(Amount) from #Cashflow c inner join #fundtable f on c.fundid = f.fundid where tradedate between '1/1/2010' and '8/31/2010') as 'Period3'
请注意,我的日期实际上是变量(这对此无关紧要)和我的原始查询
最佳答案
SELECT SUM(CASE WHEN TradeDate BETWEEN '2004-01-01' AND '2010-08-31' THEN Amount END),
SUM(CASE WHEN TradeDate BETWEEN '2006-01-01' AND '2010-08-31' THEN Amount END),
SUM(CASE WHEN TradeDate BETWEEN '2010-01-01' AND '2010-08-31' THEN Amount END)
FROM Funds
JOIN Cashflow
ON Cashflow.id = Funds.id
关于不同时期的 SQL sum()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4124362/
想要匹配单词i.v.大小写不敏感 有图案 (?i)\bi\.v\. 但希望末尾有一个单词边界 上面的模式失败了,因为它匹配 静脉注入(inject) 但是如果我尝试在末尾添加工作边界 (?i)\bi\
当 Eclipse Package Explorer 中的文件夹(链接到文件系统中某处的目录)包含名称以 . (句号),这些文件不会出现。 Eclipse 可以配置为显示这些文件吗?如果可以,如何配置
当 Eclipse Package Explorer 中的文件夹(链接到文件系统中某处的目录)包含名称以 . (句号),这些文件不会出现。 Eclipse 可以配置为显示这些文件吗?如果可以,如何配置
在P1881提案中,提出了 C++ 代码的历元(在模块级别)的概念。这样的功能可以允许在模块级别自定义 C++ 语法和 C++ 行为,而不必破坏向后兼容性。 More elaborate motiva
我是 git 的新手,我有一个关于在 git 中添加文件的问题。我发现了多个关于 git add . 和 git add -a、git add --all、git 之间区别的 stackoverflo
我是一名优秀的程序员,十分优秀!