Wie aktualisieren DB2-Tabelle mit einem join?

Ich habe zwei Tabellen und ich möchte aktualisieren, indem Sie Sie verbinden. Ich bin mit DB2 V9.7.

ORDER_APPROVALS

ORDER_ID    CREATED_BY_ID   CREATED_BY_NAME PROCESS_DT           
-------------------------------------------------------
234         2               admin           (null)    
307         2               admin           (null)    
313         2               admin           11-11-2013    

ORDER_ATTRIBUTE

ORDER_ID    ATTRIBUTE_ID    VALUE
-----------------------------------
234         123             ? --(ORDER_APPROVALS.CREATED_BY_NAME)
307         123             ? --(ORDER_APPROVALS.CREATED_BY_NAME)

Ich aktualisieren möchten, im Feld Wert gegen Attribute_ID 123. Bisher versuchte ich folgende Abfrage. Aber das funktioniert nicht. Ich habe versucht, eine ähnliche Art der Verknüpfung in Netezza und das funktioniert. Möchten Sie wissen, wie es in DB2?

update ORDER_ATTRIBUTE OT set OT.VALUE = 
(select CREATED_BY_NAME from ORDER_APPROVALS OA 
where OA.ORDER_ID = OT.ORDER_ID and OA.PROCESS_DT is NULL) 
where OT.ATTRIBUTE_ID = 123 and OT.ORDER_ID in 
(select ORDER_ID from ORDER_APPROVALS where PROCESS_DT is NULL)

InformationsquelleAutor Tahir Akram | 2013-11-16

Schreibe einen Kommentar