안녕하세요!
과일 | 1월 | 2월 | 3월 | 4월 | 5월 | 6월 | 7월 | 8월 | 9월 | 10월 | 11월 | 12월 |
사과 | 4500 | 4500 | 4500 | 4500 | 4500 | 4500 | 4500 | 5500 | 4500 | 4500 | 5000 | 4200 |
포도 | 2000 | 2000 | 2000 | 2000 | 2000 | 2000 | 2000 | 2000 | 2000 | 2000 | 2000 | 2000 |
수박 | 10000 | 10000 | 10000 | 10000 | 15000 | 15000 | 15000 | 15000 | 20000 | 10000 | 10000 | 10000 |
참외 | 5500 | 5500 | 5500 | 5500 | 5500 | 2000 | 2000 | 2000 | 2000 | 3000 | 3000 | 3000 |
위 표처럼 PIVOT 테이블을 사용해서 과일 마다 매달 가격을 확인하기 위한 쿼리를 만들고 있는 중입니다.
현재는 일부 데이터만 표로 보여드린 것인 상황인데 해당 데이터가 많아지면 페이징 처리도 하려고 합니다.(현재 아래 쿼리에는 페이징 처리 쿼리는 추가하지 않은 상황입니다.)
따라서 아래 쿼리를 만들어보았는데
현재는 과일만 출력되게 되도록 쿼리를 만들었는데 여기서 월별 데이터를 추가하는 쿼리를 추가하면 에러가 출력되고 있고 피벗 테이블을 서브쿼리로? 따로 뺏을 시 어떻게 조회해주면 될지 여쭤보려고 질문글을 작성하게 되었습니다.
그리고 위 표처럼 쿼리를 만들시 PIVOT이 아닌 다른 활용법이 있다면 말씀해주시면 감사하겠습니다!
SELECT O.FRUIT AS FRUIT -- 과일 FROM ( SELECT AA.FRUIT AS FRUIT -- 과일 FROM ( SELECT A.FRUIT AS FRUIT -- 과일 , A.PRICE AS PRICE -- 가격 , A.MONTH AS MONTH -- 과일월별 , A.MODIFYDT AS MODIFYDT -- 수정일자 FROM MARKET A ) PIVOT (MAX(PRICE) FOR MONTH IN(1,2,3,4,5,6,7,8,9,10,11,12)) AS AA ) O ORDER BY MODIFYDT DESC
미리 감사합니다!!