복붙노트

[SQL] PostgreSQL을 업데이트 가입과

SQL

PostgreSQL을 업데이트 가입과

나는 2 개 테이블과 두번째 테이블의 특정 값에 대한 첫 번째 테이블의 갱신 값에 가입 할 수 있습니다. 나는 다른 사람의 솔루션을 사용하지 못했습니다.

UPDATE customers
SET cutoffstop = cutoffstop + '432000'
FROM customers as c
JOIN bluemedia as b ON c.id = b.customerid
WHERE b.orderid = '217201807'

해결법

  1. ==============================

    1.일반 업데이트 구문 :

    일반 업데이트 구문 :

    [ 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 customers AS c
    SET cutoffstop = cutoffstop + 432000
    FROM bluemedia as b
    WHERE c.id = b.customerid
    AND b.orderid = '217201807'
    

    업데이트에 대한 자세한 정보는 링크 아래에 따라 구문 :

  2. ==============================

    2.당신은 EXISTS 사용할 수 있습니다

    당신은 EXISTS 사용할 수 있습니다

    UPDATE customers c
    SET c.cutoffstop = c.cutoffstop + '432000'
    WHERE EXISTS (
            SELECT 1
            FROM bluemedia b
            WHERE c.id = b.customerid
                AND b.orderid = '217201807'
            );
    
  3. ==============================

    3.

    UPDATE customers
    SET cutoffstop = cutoffstop + 432000
    FROM bluemedia as b ON customers.id = b.customerid
    WHERE b.orderid = '217201807'
    
  4. from https://stackoverflow.com/questions/49530493/postgresql-update-with-join by cc-by-sa and MIT license