从另一个表更新某些字段的表

时间:2014-01-29 08:43:01

标签: sql oracle

我需要您帮助更新表格。

我要更新的表格为IP_VISIT_EASTERN_REGION,我要更新的字段为VISIT_STAT

所以我写了这个查询

UPDATE IP_VISIT_EASTERN_REGION SET
IP_VISIT_EASTERN_REGION.VISIT_STAT=TEST_IP_VISIT_EASTERN_REGION.VISIT_STAT
WHERE IP_VISIT_EASTERN_REGION.VISIT_ID = TEST_IP_VISIT_EASTERN_REGION.VISIT_ID

问题是我收到错误

ORA-00904 INVALID IDENTIFIER 

这是正确的做法。

非常感谢您的帮助。

谢谢

1 个答案:

答案 0 :(得分:0)

您无法使用联接从UPDATE撰写SELECT。请尝试这种方法。

update set from inner join query thowing error

在你的情况下:

UPDATE IP_VISIT_EASTERN_REGION REGION
SET REGION.VISIT_STAT= ( SELECT TEST.VISIT_STAT 
                         FROM TEST_IP_VISIT_EASTERN_REGION TEST
                         WHERE REGION.VISIT_ID = TEST.VISIT_ID )
WHERE EXISTS ( SELECT TEST.VISIT_STAT 
               FROM TEST_IP_VISIT_EASTERN_REGION TEST
               WHERE REGION.VISIT_ID = TEST.VISIT_ID );

小提琴:

http://sqlfiddle.com/#!4/2178ae/1