PIVOT 테이블 활용법 질문 드립니다 0 2 5,240

by 라면용 [SQL Query] PIVOT TIBERO [2024.06.12 15:48:17]


안녕하세요! 

과일 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

미리 감사합니다!!

by 마농 [2024.06.12 16:56:01]

정상 쿼리만 올리신건가요?
에러 나는 쿼리를 올려 주셔야 도움을 드릴 수 있죠.
그리고 수정일자 항목의 역할은 뭔가요?


by 마농 [2024.06.13 10:36:29]

컬럼명이 숫자로 시작하는 경우 따옴표로 감싸 줘야 합니다.
"1", "2", ...

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입