在DB2中动态获取过去的数据

hjzp0vay  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(182)

我有一个存储贷款记录的表,我需要将今天的数据与昨天的数据进行比较。问题是,我的公司在星期日或公共假日不处理和存储任何数据,因此每个星期一或公共假日后一天的数据总是NULL。
我的表看起来像这样

LOAN_DATE  | YSTR_DATE | ACC_NO  | BALANCE       | LOAN_ID
2022-01-07 | null      | 5000093X| -619294125.98 |  LO1
2022-01-07 | null      | 1079653X| -650000000.00 |  LO2
2022-01-08 | 2022-01-07| 5000093X| -619294125.98 |  LO1
2022-01-08 | 2022-01-07| 1079653X| -650000000.00 |  LO2
2022-01-10 | null      | 5000093X| -619294125.98 |  LO1
2022-01-10 | null      | 1079653X| -650000000.00 |  LO2
2022-01-11 | 2022-01-10| 5000093X| -619294125.98 |  LO1
2022-01-11 | 2022-01-10| 1079653X| -650000000.00 |  LO2
2022-01-12 | 2022-01-11| 5000093X| -596544416.08 |  LO1
2022-01-12 | 2022-01-11| 1079653X| -650000000.00 |  LO2

如何取得及加入星期六或公众假期前一天的数据?
这是我的dbfiddle:https://dbfiddle.uk/9NLAopij

mbjcgjjk

mbjcgjjk1#

试试这个。

WITH LOAN (LOAN_DATE, ACC_NO, LOAN_ID, BALANCE) AS(
VALUES
(DATE ('2022-01-07'), '5000093X', 'LO1', -619294125.98),
(DATE ('2022-01-07'), '1079653X', 'LO2', -650000000),
(DATE ('2022-01-08'), '5000093X', 'LO1', -619294125.98),
(DATE ('2022-01-08'), '1079653X', 'LO2', -650000000),
(DATE ('2022-01-10'), '5000093X', 'LO1', -619294125.98),
(DATE ('2022-01-10'), '1079653X', 'LO2', -650000000),
(DATE ('2022-01-11'), '5000093X', 'LO1', -619294125.98),
(DATE ('2022-01-11'), '1079653X', 'LO2', -650000000),
(DATE ('2022-01-12'), '5000093X', 'LO1', -596544416.08),
(DATE ('2022-01-12'), '1079653X', 'LO2', -650000000)
)

    SELECT
          LOAN_DATE
        , LAG (LOAN_DATE) OVER (PARTITION BY ACC_NO ORDER BY LOAN_DATE) as YSTR_DATE
        , ACC_NO
        , LOAN_ID
        , BALANCE
        , LAG (BALANCE) OVER (PARTITION BY ACC_NO ORDER BY LOAN_DATE) as YSTR_BAL
    FROM
        LOAN
    ORDER BY 
        LOAN_DATE

| 贷款日期|YSTR_日期|ACC_否|贷款标识|平衡|YSTR_平衡|
| - -|- -|- -|- -|- -|- -|
| 2022年1月7日||小行星1079653 X|二氧位| -650000000.00 ||
| 2022年1月7日||小行星5000093 X| LO 1信号| -619294125.98 ||
| 2022年1月8日|2022年1月7日|小行星1079653 X|二氧位| -650000000.00 | -650000000.00 |
| 2022年1月8日|2022年1月7日|小行星5000093 X| LO 1信号| -619294125.98 | -619294125.98 |
| 2022年1月10日|2022年1月8日|小行星1079653 X|二氧位| -650000000.00 | -650000000.00 |
| 2022年1月10日|2022年1月8日|小行星5000093 X| LO 1信号| -619294125.98 | -619294125.98 |
| 2022年1月11日|2022年1月10日|小行星1079653 X|二氧位| -650000000.00 | -650000000.00 |
| 2022年1月11日|2022年1月10日|小行星5000093 X| LO 1信号| -619294125.98 | -619294125.98 |
| 2022年1月12日|2022年1月11日|小行星1079653 X|二氧位| -650000000.00 | -650000000.00 |
| 2022年1月12日|2022年1月11日|小行星5000093 X| LO 1信号| -596544416.08 | -619294125.98 |

相关问题