문제
정답
이 문제의 문제점은 바로 store#
컬럼의 존재다. 보통은 이렇게 별도 컬럼을 두기보다 store
같은 공통 컬럼을 만들어놓기 때문에 피벗 자체를 할 일이 별로 없다. 그래서 store 갯수가 3개 이상인 경우를 굳이 생각해 보지도 않아도 될 것 같다.
SELECT product_id, 'store1' AS store, store1 AS price FROM Products WHERE store1 IS NOT NULL
union all
SELECT product_id, 'store2' AS store, store2 AS price FROM Products WHERE store2 IS NOT NULL
union all
SELECT product_id, 'store3' AS store, store3 AS price FROM Products WHERE store3 IS NOT NULL