월별 가로 테이블 질문입니다!! 0 5 620

by 천만달러 [Oracle 기초] [2021.05.31 13:19:22]


쿼리1.png (38,460Bytes)

안녕하세요.

SELECT a.item_name as "품명"
    , SUM(b.amount) as "1월"
FROM burger_ord_item b
JOIN burger_item a
ON a.item_code = b.item_code
JOIN burger_ord c
ON b.ord_code = c.ord_code
where c.ord_date between 20170101 and 20170131
GROUP BY a.item_name;

 

이렇게 쿼리를 짜서 1월달 품목별 매출을 나오게 했는데

2~12월까지 가로 테이블로 조회 되게끔 쿼리를 짜고 싶은데

어떻게 하면 될까요...도와주세요 ㅠ

by 마농 [2021.05.31 14:14:30]

ord_date 의 자료형이 뭔가요?


by 천만달러 [2021.05.31 14:27:04]

varchar2(8바이트) 입니다!


by 마농 [2021.05.31 14:44:23]

문자 조건을 숫자로 주면 비효율입니다. 따옴표 꼭 붙여 주세요.
- 변경전 : WHERE c.ord_date BETWEEN  20170101  AND  20170131
- 변경후 : WHERE c.ord_date BETWEEN '20170101' AND '20170131'


by 마농 [2021.05.31 14:45:00]
SELECT a.item_name
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '01' THEN b.amount END) m01
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '02' THEN b.amount END) m02
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '03' THEN b.amount END) m03
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '04' THEN b.amount END) m04
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '05' THEN b.amount END) m05
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '06' THEN b.amount END) m06
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '07' THEN b.amount END) m07
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '08' THEN b.amount END) m08
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '09' THEN b.amount END) m09
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '10' THEN b.amount END) m10
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '11' THEN b.amount END) m11
     , SUM(CASE SUBSTR(c.ord_date, 5, 2) WHEN '12' THEN b.amount END) m12
     , SUM(b.amount) tot
  FROM burger_item a
 INNER JOIN burger_ord_item b
    ON a.item_code = b.item_code
 INNER JOIN burger_ord c
    ON b.ord_code = c.ord_code
 WHERE c.ord_date BETWEEN '20170101' AND '20171231'
 GROUP BY a.item_code, a.item_name
;

 


by 천만달러 [2021.05.31 14:51:07]

정말 감사합니다...!!

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