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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du suchst die
MERGE
Aussage:InformationsquelleAutor Ian Bjorhovde
Denke ich, müssen Sie eine abgeleitete Tabelle verwenden, um dies zu erreichen:
InformationsquelleAutor Andrew
Mit diesem ist es genug.
InformationsquelleAutor Gabriel Rubio