我把银行里的数据放在一个表格里.该表包含所有过帐和余额.问题是,如果一个日期没有过帐,那么就没有分录,因此就没有余额.
我想得到一个表与所有日期(例如今天和一年回来) for each 帐户.然后我将加入汇率和总和每天,所以我有一个"银行总余额"每天.
下面是我的表中的示例数据(简化后,只包含相关列,不包括Amount,以便于理解该表):
Id | Account | Currency | Date | Amount | Balance |
---|---|---|---|---|---|
100 | 1 | EUR | 2024-02-10 | 100 | 550 |
101 | 1 | EUR | 2024-02-10 | 15 | 565 |
102 | 2 | USD | 2024-02-10 | 50 | 420 |
103 | 1 | EUR | 2024-02-10 | 13 | 578 |
104 | 1 | EUR | 2024-02-11 | -8 | 570 |
105 | 1 | EUR | 2024-02-12 | 310 | 880 |
106 | 1 | EUR | 2024-02-12 | -50 | 830 |
当天的余额总是ID最高的余额.
请注意,情况并非如此.
Date | Currency | Balance |
---|---|---|
2024-02-10 | EUR | 578 |
2024-02-10 | USD | 420 |
2024-02-11 | EUR | 570 |
2024-02-11 | USD | 420 |
2024-02-12 | EUR | 830 |
2024-02-12 | USD | 420 |
我有一个日期表(不知道是否有必要).
我试了很多,但就是想不出该怎么做.
我已经走了这么远:
SELECT Date, Currency, Balance
FROM bank
WHERE Id IN (
SELECT MAX(Id) AS Id
FROM bank
WHERE Account IN (1, 2)
GROUP BY Date, Currency
)