gpt4 book ai didi

mysql - 需要通过查看事务表中的日期并更新主表来更新具有 last_transaction_type 的表

转载 作者:行者123 更新时间:2023-11-30 21:31:07 25 4
gpt4 key购买 nike

我有两张 table

交易日志

-trans_id(PK)
-policy_number (foreign key)
-payment type
-amount
-Date(DateTime)

主策略

- policy_number(PK)
- last_trans_type
- and some other data

我需要获取每个保单号的最后支付类型,并使用日期在主保单表中更新它

我想尝试通过按日期排序并将其限制为 1 来获取最后日期,或者我需要使用 max(date)。但我无法弄清楚如何准确地做到这一点,因为它可能需要一个子查询。

数据库

UPDATE fn_policy_master
SET last_trans_type =
(Select max(date)
FROM col_trans_log
WHERE policy_number = Transaction_log.policy_number)
WHERE policy_number = Transaction_log.policy_number;

上面的说法是行不通的。我希望找到解决办法。我打算它找到最近使用的付款类型,并将 Master_policy 中的 last_trans_type 设置为最后使用的类型。

最佳答案

您可以在两个表之间使用内部联接,并根据 policy_number 对最大日期组使用子查询

UPDATE Master_policy m
INNER JOIN Transaction_log log ON m.policy_number = log.policy_number
INNER JOIN (
Select policy_number, max(date) max_date
FROM Transaction_log
GROUP BY policy_number
) t on t.policy_number = m.policy_number
AND log.date = t.max_date
set m.last_trans_type = log.last_trans_type

关于mysql - 需要通过查看事务表中的日期并更新主表来更新具有 last_transaction_type 的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56110495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com