MERGE INTO WATER_TUBULAR_STRUCTURE T1 USING (
SELECT
B.DWMC, B.DYDM, B.EJDWDM, B.DWDM,
A.JH, A.KGRQ, A.WGRQ, A.CSLB, A.KGRQ - A.LAST_WGRQ ZJSJ, A.LAST_WGRQ
FROM (
SELECT
A.*, LEAD(KGRQ, 1, NULL) OVER(PARTITION BY JH ORDER BY KGRQ) LAST_WGRQ
FROM
YS_DDH01 A
) A
LEFT JOIN YS_DAA01 B ON A.JH = B.JH
) T2 ON (T1.JH = T2.JH AND T1.WJRQ = T2.WGRQ)
WHEN MATCHED THEN
UPDATE SET
DWDM = T2.EJDWDM,
DYDM = T2.DYDM,
NEXT_ZYRQ = NULL,
CSLB = T2.CSLB,
ZJSJ = T2.ZJSJ,
GZ_YXQ = T2.ZJSJ
WHEN NOT MATCHED THEN
INSERT(DWDM, DYDM, JH, WJRQ, NEXT_ZYRQ, CSLB, ZJSJ, GZ_YXQ, GYLX)
VALUES(T2.EJDWDM, T2.DYDM, T2.JH, T2.WGRQ, NULL, T2.CSLB, T2.ZJSJ, T2.ZJSJ, 'GYLX1')
UPDATE WATER_TUBULAR_STRUCTURE
SET FGQ = #{fgq,jdbcType=VARCHAR},
CD_PSQ = #{cdPsq,jdbcType=VARCHAR},
MDGJ = #{mdgj,jdbcType=VARCHAR},
BCGJ = #{bcgj,jdbcType=VARCHAR},
XJF = #{xjf,jdbcType=VARCHAR}
WHERE
JH = #{jh,jdbcType=VARCHAR} AND WJRQ = #{wjrq,jdbcType=DATE}