我有三张表,T1,T2,T3
我的更新查询如下:
UPDATE
T1
SET
C1 = 'Y'
FROM
T2
INNER JOIN T1 ON T2.I = T1.I
T2 INNER JOIN T3 ON T2.IN = T3.IN
WHERE T2.A = 'A'
AND T2.B = 'B'
AND T3.APP = 'LOW'
我尝试了多种方法来安排这个问题并查看了多个解决方案但却无法找出问题所在。
答案 0 :(得分:4)
坏消息是Oracle在JOIN
查询中不支持UPDATE
- 即使语法合理(AND
之间INNER JOINS
???)。
好消息是你可以使用EXISTS
执行此操作:
update t1
set c1 = 'Y'
where exists (select 1
from t2 join
t3
on t2.in = t3.in
where t2.i = t1.i and t2.A = 'A' and t2.B = 'B' and
t3.APP = 'LOW'
);