更新一個表的字段值等於另一個表的字段值備份

UPDATE ROAD_PRODUCT_MAT_NOTICE n
SET 
n.START_STAKE = (SELECT ca.START_STAKE FROM ROAD_PRODUCT_CASE ca
LEFT JOIN ROAD_PRODUCT_DETAIL_LIST li ON ca.ROAD_PRODUCT_CASE_CODE = li.ROAD_PRODUCT_CASE_CODE
LEFT JOIN ROAD_PRODUCT_MAT_NOTICE noti ON li.ROAD_PRODUCT_DETAIL_LIST_ID = noti.ROAD_PRODUCT_DETAIL_LIST_ID
WHERE noti.ROAD_PRODUCT_MAT_NOTICE_ID = n.ROAD_PRODUCT_MAT_NOTICE_ID),
n.END_STAKE = (SELECT ca.END_STAKE FROM ROAD_PRODUCT_CASE ca
LEFT JOIN ROAD_PRODUCT_DETAIL_LIST li ON ca.ROAD_PRODUCT_CASE_CODE = li.ROAD_PRODUCT_CASE_CODE
LEFT JOIN ROAD_PRODUCT_MAT_NOTICE noti ON li.ROAD_PRODUCT_DETAIL_LIST_ID = noti.ROAD_PRODUCT_DETAIL_LIST_ID
WHERE noti.ROAD_PRODUCT_MAT_NOTICE_ID = n.ROAD_PRODUCT_MAT_NOTICE_ID),
n.PAR_ROAD_CODE=(SELECT ca.PAR_ROAD_CODE FROM ROAD_PRODUCT_CASE ca
LEFT JOIN ROAD_PRODUCT_DETAIL_LIST li ON ca.ROAD_PRODUCT_CASE_CODE = li.ROAD_PRODUCT_CASE_CODE
LEFT JOIN ROAD_PRODUCT_MAT_NOTICE noti ON li.ROAD_PRODUCT_DETAIL_LIST_ID = noti.ROAD_PRODUCT_DETAIL_LIST_ID
WHERE noti.ROAD_PRODUCT_MAT_NOTICE_ID = n.ROAD_PRODUCT_MAT_NOTICE_ID),
n.LOCATION=(SELECT ca.case_location FROM ROAD_PRODUCT_CASE ca
LEFT JOIN ROAD_PRODUCT_DETAIL_LIST li ON ca.ROAD_PRODUCT_CASE_CODE = li.ROAD_PRODUCT_CASE_CODE
LEFT JOIN ROAD_PRODUCT_MAT_NOTICE noti ON li.ROAD_PRODUCT_DETAIL_LIST_ID = noti.ROAD_PRODUCT_DETAIL_LIST_ID
WHERE noti.ROAD_PRODUCT_MAT_NOTICE_ID = n.ROAD_PRODUCT_MAT_NOTICE_ID),
n.IS_CHECKED='true'

WHERE
-- n.CREATE_DATE > TO_DATE('2020-01-01', 'yyyy-mm-dd')
1=1
AND n."LOCATION" IS null

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章