X 라는 테이블에 A, B, C, D 라는 컬럼이 있습니다.
A는 아이템 B는 수량 C는 생성 시간 D는 날짜 입니다.
날짜는 13-04-29, 13-04-30 두 날짜가 들어가 있는데 04-29일자는 아이템이 2개, 04-30일자는 아이템이 4개 입니다.
이걸 다시 select해서
04-29일자 아이템, 수량, 04-30일자 아이템 수량 이렇게 결과를 나타내고 싶습니다.
04-29A 04-29B 04-30A 04-30B
ㄱ 1 A 2
ㄴ 3 B 1
null null C 3
null null D 2
이런식으로 나타내고 싶은데 어떻게 하면 될까요?ㅠㅠ
SELECT MIN(DECODE(d, '20130429', a)) "04-29A" , MIN(DECODE(d, '20130429', b)) "04-29B" , MIN(DECODE(d, '20130430', a)) "04-30A" , MIN(DECODE(d, '20130430', b)) "04-30B" FROM (SELECT a, b, d , ROW_NUMBER() OVER(PARTITION BY d ORDER BY c) rn FROM x WHERE d IN ('20130429', '20130430') ) GROUP BY rn ORDER BY rn ;