안녕하세요. DB고수님들.
개인적으로 학습용으로 테이블을 다루고있는데
궁금한사항이 있어 문의드립니다.
제목처럼 월별 상품별 구매건수를 구하는 것입니다.
테이블 예시입니다.
A) 구매테이블 필드는 다음과 같습니다.
브랜드 | 상품명 | 판매날짜 | 수량 |
B) 구매테이블의 필드테이터
브랜드 | 상품명 | 판매날짜 | 수량 |
A사 | 빼빼로 | 2018-04-02 | 1 |
A사 | 사이다 | 2018-03-01 | 2 |
A사 | 사이다 | 2018-03-11 | 2 |
A사 | 사이다 | 2018-03-21 | 2 |
B사 | 과자1 | 2018-03-01 | 1 |
B사 | 과자1 | 2018-03-10 | 10 |
B사 | 빼빼로 | 2018-04-01 | 3 |
C사 | 과자1 | 2018-03-01 | 1 |
*원하는결과값*
- 상품별 /브랜드별 / 월별 구매건수 구하기.
A사 | 사이다 | 2018-03 | 6 | 2018-04 | 1 |
B사 | 과자1 | 2018-03 | 11 | 2018-04 | 3 |
C사 | 과자1 | 2018-03 | 1 | 2018-04 | 2 |
A사 | 빼빼로 | 2018-03 | 0 | | 2018-04 | 1 |
B사 | 빼빼로 | 2018-03 | 0 | | 2018-04 | 3 |
Q.1) 상품별 월 판매건수를 구하는데,
거기에 더해서 브랜드도 구분하여 쿼리를 짜고싶습니다.
예를들어,
A사의 3월 빼빼로 판매건수는 100건
B사의 3월 빼빼로 판매건수는 53건
등....
판매건수를 통계하여 화면에 뿌려주는 기능을 만들어보고싶어서요.
( 그룹바이를 여러개 할 경우.... 뭔가 데이터가 원하는데로 나오지 않아 도움을 청합니다.)
긴글읽어주셔서 감사합니다.
좋은 하루 보내세요.
친절한 답변 감사합니다.
저도 알려주신대까지 검색하면서 했습니다만.... 제가 원하는 쿼리는 서브쿼리(?)같은게 필요합니다.ㅠㅠ
월별 데이터가 데이터로 들어오는게 아니라 필드로 있어야합니다 ㅠ.
예를들어)
| 브랜드 | 상품명 | 2월 | 2월판매건수 | 3월 | 3월판매건수 | 4월 | 4월판매건수 |
| A 사 | 빼빼로 | 2018-02 | 74 | 2018-03 | 50 | 2018-04 | 20 |
| B 사 | 빼빼로 | 2018-02 | 30 | 2018-03 | 30 | 2018-04 | 30 |
이런식으로요...!
ㅠㅠ
SELECT 브랜드 , 상품명 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '01' THEN 수량 END) m01 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '02' THEN 수량 END) m02 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '03' THEN 수량 END) m03 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '04' THEN 수량 END) m04 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '05' THEN 수량 END) m05 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '06' THEN 수량 END) m06 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '07' THEN 수량 END) m07 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '08' THEN 수량 END) m08 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '09' THEN 수량 END) m09 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '10' THEN 수량 END) m10 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '11' THEN 수량 END) m11 , SUM(CASE WHEN SUBSTR(판매날짜, 6, 2) = '12' THEN 수량 END) m12 FROM 구매 WHERE 판매날짜 LIKE '2018%' GROUP BY 브랜드, 상품명 ;