2017-04-12 87 views
0

我有2个表A和B更新表字段SQL/Oracle的

表A等

paid_month budget amount 

201703  11401 23000 
201703  11401 24000 
201703  11401 12000 

表B像

paid_month budget amount 

201703  11402 23000 
201703  11403 24000 
201703  11404 12000 

现在我要更新的预算在下表A中如下

set A.budget = B.budget 其中A.amount = B.amount

+0

的可能的复制甲骨文SQL:使用另一个表中的数据更新表](http://stackoverflow.com/questions/7030699/oracle-sql-update-a-table-with-data-from-another-table) – Nitish

+0

它必须是相同的月? B中会不会有匹配的记录? B中可以有多个匹配的记录吗? –

+0

是的,它应该在同一个月 – ghalib

回答

0

Oracle不支持更新联接语法,但你仍然可以实现你想要使用更新相关子查询的内容:

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