分期付款表:
| acc_no | 分期付款 | 截止日期 |
|---|---|---|
| 12 | 1 | 2022-04-22 |
| 12 | 2 | 2022-05-22 |
| 12 | 3 | 2022-06-22 |
| 12 | 4 | 2022-07-22 |
| 12 | 5 | 2022-08-22 |
交易表:
| acc_no | txn_date |
|---|---|
| 12 | 2022-04-22 |
| 12 | 2022-05-24 |
| 12 | 2022-06-18 |
| 12 | 2022-07-18 |
| 12 | 2022-08-25 |
結果表:
| acc_no | 分期付款 | 截止日期 | txn_date | days_diff |
|---|---|---|---|---|
| 12 | 1 | 2022-04-22 | 2022-04-22 | 0 |
| 12 | 2 | 2022-05-22 | 2022-05-24 | 2 |
| 12 | 3 | 2022-06-22 | 2022-06-18 | -4 |
| 12 | 4 | 2022-07-22 | 2022-07-18 | -4 |
| 12 | 5 | 2022-08-22 | 2022-08-25 | 3 |
我想根據帳號和最近的交易日期加入表格。有沒有辦法在 MySQL 8.0.37 中做到這一點?
uj5u.com熱心網友回復:
您可以使用橫向連接來評估天數差異并為每一行選擇最小值:
select *
from installment i,
lateral(
select txn_date, DateDiff(txn_date, due_date) days_diff
from transaction t
where t.acc_no = i.acc_no
order by Abs(DateDiff(txn_date, due_date))
limit 1
)t;
請參閱示例小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/439661.html
標籤:mysql
下一篇:php表一次更新多條記錄
