갱신을 해나가는 테이블
가장 최신 날짜에서의 데이터 값을 출력
product_id로 그룹화 → 그룹화 내에서는 특정 조건으로 분류 불가UNION ALLWHERE절로 조건 설정하기 <날짜를 경계선으로>WITH cte AS (SELECT product_id, new_price as price
FROM Products
WHERE (product_id, change_date) IN (
SELECT product_id, MAX(change_date)
FROM Products
WHERE change_date <= '2019-08-16'
GROUP BY product_id
)
)
SELECT product_id, price FROM cte
UNION ALL
SELECT product_id, 10 as price FROM Products
GROUP BY product_id
HAVING MIN(change_date) > '2019-08-16'