나는 질문을하고 도움이 회신을 받았습니다.
UPDATE TABLE_A a JOIN TABLE_B b
ON a.join_col = b.join_col AND a.column_a = b.column_b
SET a.column_c = a.column_c + 1
이제 이와 같은 3 개의 테이블이 있으면이 작업을 수행하려고합니다.
UPDATE tableC c JOIN tableB b JOIN tableA a
내 질문은 기본적으로 …이 UPDATE
문장 에서 3 테이블 조인을 수행 할 수 있습니까? 올바른 구문은 무엇입니까? 감사합니다. 내가합니까 …
JOIN tableB, tableA
JOIN tableB JOIN tableA
답변
대답은 yes
당신 이 할 수 있다는 것입니다
그렇게 해봐
UPDATE TABLE_A a
JOIN TABLE_B b ON a.join_col = b.join_col AND a.column_a = b.column_b
JOIN TABLE_C c ON [condition]
SET a.column_c = a.column_c + 1
편집하다:
일반적인 업데이트 가입 :
UPDATE TABLEA a
JOIN TABLEB b ON a.join_colA = b.join_colB
SET a.columnToUpdate = [something]
답변
동일한 결과 를 얻는 다른 방법은 JOIN
키워드를 전혀 사용하지 않는 것입니다.
UPDATE TABLE_A, TABLE_B
SET TABLE_A.column_c = TABLE_B.column_c + 1
WHERE TABLE_A.join_col = TABLE_B.join_col
답변
아래는 JOIN
& WHERE
모두 를 포함하는 업데이트 쿼리입니다 . 여러 조인 / where 절을 사용할 수있는 것과 같은 방법으로 도움이되기를 바랍니다.
UPDATE opportunities_cstm oc JOIN opportunities o ON oc.id_c = o.id
SET oc.forecast_stage_c = 'APX'
WHERE o.deleted = 0
AND o.sales_stage IN('ABC','PQR','XYZ')
답변
폭발적인 “답변에 대한 의견”은 아직 완료되지 않은 경우에도 전체 편집 내용을 게시하지 않고 줄 바꿈을 수행하지 않기 때문에 독립적 인 답변으로 만 추가하는 대체 일반 계획입니다.
UPDATE table A
JOIN table B ON {join fields}
JOIN table C ON {join fields}
JOIN {as many tables as you need}
SET A.column = {expression}
예:
UPDATE person P
JOIN address A ON P.home_address_id = A.id
JOIN city C ON A.city_id = C.id
SET P.home_zip = C.zipcode;
답변
PostgreSQL 예제의 경우 :
UPDATE TableA AS a
SET param_from_table_a=FALSE -- param FROM TableA
FROM TableB AS b
WHERE b.id=a.param_id AND a.amount <> 0;