UPDATE gsdpay.T_RPM_RTUL D
SET D.MERC_RFD_SEQ = (
with F AS
(SELECT A.PPD_ORD_NO, A.rp_ord_no
FROM GSDPAY.T_PPD_ORDR A
JOIN (select rp_ord_no,
max(POST_DT) AS MAX_POST_DT,
max(POST_TM) AS MAX_POST_TM
from GSDPAY.T_PPD_ORDR
WHERE rp_ord_no in ('202101021086757586')
GROUP BY rp_ord_no) B
ON A.rp_ord_no = B.rp_ord_no
AND A.POST_DT = B.MAX_POST_DT
AND A.POST_TM = B.MAX_POST_TM)
SELECT E.PPD_ORD_NO from F E WHERE D.ORD_NO= E.PPD_ORD_NO AND D.ord_no in ('202101021086757586')
)
update 与 with as 写法
最新推荐文章于 2023-12-08 19:53:27 发布
本文探讨了一种复杂的SQL更新操作,通过使用WITH子句和嵌套子查询来定位特定记录并更新其值。具体示例中,涉及了GSDPAY表的多个相关子表,通过查找特定订单的最新状态来更新T_RPM_RTULD表中的D.MERC_RFD_SEQ字段。这种方法展示了如何在数据库管理中有效地处理复杂的数据同步问题。
摘要由CSDN通过智能技术生成