[英]sql update in oracle statement using join
please where is the error in this statement, I want to update a field1 of table 1 with field2 of table 2 joining both tables on a field 3 请在此语句中的错误在哪里,我想用表2的field2更新表1的field1,将两个表都连接到字段3
UPDATE
(SELECT IP_ANAGRAFICACOMPLESSO.id_complesso, COORDOK6.AZIENDA , IP_ANAGRAFICACOMPLESSO.COORD_GB_E, COORDOK6.WGSE
FROM ip_anagraficacomplesso
INNER JOIN COORDOK6 ON IP_ANAGRAFICACOMPLESSO.ID_COMPLESSO = COORDOK6.AZIENDA )
SET IP_ANAGRAFICACOMPLESSO.COORD_GB_E = COORDOK6.WGSE
Thanks a lot 非常感谢
Not sure which flavor of SQL you are using, but at least in TSQL you would need to rearrange it so the SELECT
comes after the SET
不确定使用的是哪种SQL,但是至少在TSQL中需要重新排列,以便
SELECT
在SET
之后出现
UPDATE IP
SET IP.COORD_GB_E = C.WGSE
FROM IP_ANAGRAFLICACOMPLESSO IP
INNER JOIN COORDOK6 C ON IP.ID_COMPLESSO = C.AZIENDA
To perform such an UPDATE
in ORACLE, your query should be as below. 要在ORACLE中执行这样的
UPDATE
,您的查询应如下所示。 Always remember to create the appropriate join or else you might end up updating the wrong records. 始终记住要创建适当的联接,否则可能会导致更新错误的记录。
update DAILY D
set
(
D.DEPARTMENT_CODE,
D.COSTCENTRE_CODE,
D.USER_ID
)
=
(select distinct DEPT.DEPT_CODE,
DEPT.CENTRE_CODE,
PRT.EMP_ID
from EMP PRT
inner join DEPT DEPT
on DEPT.DEPARTMENT_ID = PRT.DEPARTMENT_ID
where PRT.LOGIN_ID = D.LOGIN_ID
);
According to this URL, the syntax is: 根据此URL,语法为:
http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/update_statement.htm http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/update_statement.htm
(ORACLE-provided syntax example): (ORACLE提供的语法示例):
UPDATE employee_temp SET (first_name, last_name) =
(SELECT first_name, last_name FROM employees
WHERE employee_id = employee_temp.employee_id);
Which would be something like this: You can only select one column from the SELECT subquery - make sure the subquery is a valid INNER JOIN with respect to your column and table names: 这将是这样的:您只能从SELECT子查询中选择一列-确保子查询相对于您的列名和表名是有效的INNER JOIN:
UPDATE COORD_GB_E
SET IP_ANAGRAFICACOMPLESSO =
(SELECT COORDOK6.WGSE
FROM ip_anagraficacomplesso INNER JOIN COORDOK6
ON IP_ANAGRAFICACOMPLESSO.ID_COMPLESSO = COORDOK6.AZIENDA );
This documentation states if there is one column being updated to omit the parentheses around the updated column. 该文档说明是否有一列要更新,以忽略已更新列周围的括号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.