2017-04-12 41 views
0

ich habe 2 Tabellen A und BAktualisieren Tabellenfeld SQL/Oracle

Tabelle A wie

paid_month budget amount 

201703  11401 23000 
201703  11401 24000 
201703  11401 12000 

Tabelle B wie

paid_month budget amount 

201703  11402 23000 
201703  11403 24000 
201703  11404 12000 

NOW ich das Budget aktualisieren möchten in Tabelle A wie folgt

eingestellt= B.budget wo A.amount = B.amount

+0

Mögliche Duplikat [Oracle SQL: Aktualisieren Sie eine Tabelle mit Daten aus einer anderen Tabelle] (http://stackoverflow.com/questions/7030699/oracle-sql-update-a-table-with-data-from-another-table) – Nitish

+0

Muss es gleich sein Monat? Wird es in B immer einen passenden Rekord geben? Kann es mehr als einen passenden Datensatz in B geben? –

+0

ja sollte es im selben Monat sein – ghalib

Antwort

0

Oracle kein Update-Join-Syntax nicht unterstützt, aber man kann immer noch erreichen, was Sie ein Update mit einer korrelierten Unterabfrage wollen mit:

UPDATE tableA a 
SET budget = (SELECT b.budget FROM tableB b 
       WHERE a.amount = b.amount AND a.paid_month = b.paid_month) 
Verwandte Themen