0

我有两张包含客户信息的表格:

Portfolios
accountId   Date        portfolio
Barney      2013-06-28  Slate
Barney      2013-07-01  Bedrock
Barney      2013-07-02  Bedrock
Fred        2013-06-28  Slate
Fred        2013-07-01  Slate
Fred        2013-07-02  Slate


Money
accountId   Date        value
Barney  2013-06-28  $100.00
Barney  2013-07-01  $101.00
Barney  2013-07-02  $103.00
Fred    2013-06-28  $500.00
Fred    2013-07-01  $503.00
Fred    2013-07-02  $498.00

我想按日期汇总每种策略的投资组合价值 - Slate 和 Bedrock。我可以比较两者并获得特定策略的运行值。例如:

SELECT Portfolios.accountId, Portfolios.Date, Portfolios.strategy,
     Money.accountId, Money.Date, Money.strategy, SUM(Money.value) as sumtotal
from Money, Portfolios
WHERE Money.accountId = Portfolios.accountId
AND Money.Date = Portfolios.Date
AND Portfolio.portfolio = 'Slate'
GROUP BY Date ORDER by Date ASC

这行得通。

Date        value
2013-06-28  $600.00
2013-07-01  $503.00
2013-07-02  $498.00

我无法开始工作的是比较不同日期的策略:

SUM (Money.value) WHERE Portfolios.strategy.date != Portfolios.strategy.date (-1)
GROUP BY Date

因此查询将仅返回 100 美元(巴尼在 2013 年 6 月 28 日改变策略之前的投资组合的最后一个值。

4

0 回答 0