是否可以根据Oracle中另一个表中的值更新表中的值?
我正在努力完成这样的事情(我知道这不是一个正确的UPDATE语句):
UPDATE table1
SET table1.flag = 1
FROM table1 t1
INNER JOIN table2 t2
ON t1.emp_id = t2.emp_id
INNER JOIN table3 t3
ON t2.company = t3.company
WHERE t1.emp_id = '5632'
AND l2.company = '83CP'
AND t1.code = 'LIEU'
答案 0 :(得分:1)
我希望你在table1中有一个主键,所以使用它而不是rowid但是如果你没有使用
update table1
set flag =1
where rowid in ( select t1.rowid
FROM table1 t1
INNER JOIN table2 t2 ON t1.emp_id = t2.emp_id
INNER JOIN table3 t3 ON t2.company = t3.company
WHERE t1.emp_id = '5632'
AND l2.company = '83CP'
AND t1.code = 'LIEU'
)