카테고리 없음

[Leetcode] 조건에 해당되지 않는 대상에 고정값 적용하기

DAdiary 2024. 5. 21. 11:54

바뀐 가격만 알 수 있는 테이블이 있고, 여기에 해당되지 않는 product_id는 원래의 값인 10원을 유지한다는 조건이었다.

기존의 가격인 10원이 어느 테이블에도 들어있지 않았기 때문에 따로 지정을 해줘야 했다.

 

[정답]

SELECT product_id,
       new_price AS price
FROM products
WHERE (product_id, change_date) IN (
    SELECT product_id,
           MAX(change_date) as recent
    FROM Products
    WHERE change_date <= '2019-08-16'
    GROUP BY product_id
)
UNION
SELECT product_id, 10 AS price -- 고정된 값 적용하기
FROM products
WHERE product_id NOT IN (
    SELECT product_id
    FROM products
    WHERE change_date <= '2019-08-16'
)

고정된 값 10을 SELECT 문에 쓰고 alias로 column명을 지정해주면 해당 컬럼이 추가가 된다.