2017-05-22 3 views
1

where 절에이 업데이트를 수행하면 작동하지 않으므로? 업데이트가 나를 위해 모든 일을합니다.내부 조인을 통한 업데이트 Postgresql

UPDATE ventas SET eav_id = 7 
FROM ventas AS A 
inner join ventasDetalle AS e on A.act_id = e.act_id and e.exp_id = A.exp_id 
where a.eav_id = 1 

답변

1
update ventas a 
set eav_id = 7 
from ventasDetalle e 
where a.eav_id = 1 and (a.act_id, a.exp_id) = (e.act_id, e.exp_id) 
+0

탱크! ! 내가 원하는대로 다르게 작동하지만 작동합니다. – Max

0

PostgreSQL의 업데이트 구문은 다음과 같습니다

[ WITH [ RECURSIVE ] with_query [, ...] ] 
UPDATE [ ONLY ] table [ [ AS ] alias ] 
    SET { column = { expression | DEFAULT } | 
      (column [, ...]) = ({ expression | DEFAULT } [, ...]) } [, ...] 
    [ FROM from_list ] 
    [ WHERE condition | WHERE CURRENT OF cursor_name ] 
    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ] 

그래서 나는 당신이 원하는 생각 :

UPDATE ventas AS A 
SET eav_id = 7 
FROM ventasDetalle AS e 
WHERE (A.act_id = e.act_id and e.exp_id = A.exp_id) 
+0

오류 드 sintaxis 엔 오 CERCA 드«내부» – Max