programing

하나의 열에 동일한 값이 있을 때 sql 쿼리를 원합니다.

iphone6s 2023. 7. 16. 12:51
반응형

하나의 열에 동일한 값이 있을 때 sql 쿼리를 원합니다.

모든 열이 포함된 쿼리를 실행합니다.number동일한 값을 가지며 복사합니다.address값이 있는 행의 다른 행에 있는 값type0입니다.

예를 들어, 게시된 이미지에서, 여기서number열에 값 '1'이 있습니다. 주소를 의 다른 행에 복사합니다.type0. 즉, 값이 다음과 같은 세 행 모두를 의미합니다.number열은 1이고, 주소 열의 값 의지는 ABC, ABC, ABC가 될 것이며, 다음과 같습니다.numbercolumn 여기서 값은 2이고 주소는 CSA,enter image description here CSA입니다.

다음과 같은 것입니다(유형 = 0인 숫자 값을 가져와서 주 테이블에 결합).

    WITH
    t AS (SELECT _number,
                 MAX(_address) AS _address -- here can be more than one row with type = 0 ?
              FROM test
              WHERE _type = 0
              GROUP BY _number)
SELECT test._id,
       test._number,
       test._type,
       t._address
    FROM test
    LEFT JOIN t
            ON test._number = t._number;

다음은 dbfiddle 예제입니다.

업데이트를 위해 다음을 사용할 수 있습니다.

UPDATE test
    INNER JOIN (SELECT
    _number,
    max(_address) AS _address -- here can be more than one row with type = 0 ?
    FROM test
    WHERE _type = 0
    GROUP BY _number) t
ON t._number = test._number
SET test._address = t._address;

여기서 dbfidle 업데이트

언급URL : https://stackoverflow.com/questions/72321020/i-want-sql-query-when-one-column-has-same-value

반응형