쿼리문 질문좀 드릴게요(내용 수정했습니다) 0 2 1,556

by 쌈장묵자 [SQL Query] [2015.10.11 22:11:59]


일단 테이블은 2개가 있습니다

area  prod_id sales_cnt  region 

10     00001      4          cn 

20     00002      2          jp

SALES_CNT는 판매 수량입니다

이런식으로 쭈욱 많은 데이터가 있고

다른 테이블은

cd_id  cd_nm

10      서울

20      부산

00001 안마기

00002 냉장고

이런식으로 있습니다

expt          안마기(%)       냉장고(%) ~~~~  판매량

서울=>us    3200(9.8%)     1234(4%)          12312415

서울=>cn    3200(9.8%)     1234(4%)          12312415

서울 총계    6400(10%)      2468(4%)          24624830

부산=>us    3200(9.8%)     1234(4%)          12312415

부산=>cn    3200(9.8%)     1234(4%)          12312415

부산 총계    6400(10%)      2468(4%)          24624830

총계          123421(10%)    123421(10%)    2523235435

 

이런식으로 나타나게 sql문을 짜고 싶은데 sum, rollup을 사용해야 되는거는 알겟는데

두 테이블을 어떻게 조인해서 사용 해야 할지 감이 안오네요 좀 도와 주세요~~

 

 

by 창조의날개 [2015.10.12 14:16:20]

WITH TT_CD(cd_id,  cd_nm) AS (
SELECT '10',    '서울' FROM DUAL UNION ALL
SELECT '20',    '부산' FROM DUAL UNION ALL
SELECT '00001', '안마기' FROM DUAL UNION ALL
SELECT '00002', '냉장고' FROM DUAL
)
, TT_SAL(area, prod_id, sales_cnt, region) AS(
SELECT '10', '00001', 3200, 'us' FROM DUAL UNION ALL
SELECT '10', '00002', 1234, 'us' FROM DUAL UNION ALL
SELECT '10', '00001', 3200, 'cn' FROM DUAL UNION ALL
SELECT '10', '00002', 1234, 'cn' FROM DUAL UNION ALL
SELECT '20', '00001', 3200, 'us' FROM DUAL UNION ALL
SELECT '20', '00002', 1234, 'us' FROM DUAL UNION ALL
SELECT '20', '00001', 3200, 'cn' FROM DUAL UNION ALL
SELECT '20', '00002', 1234, 'cn' FROM DUAL
)
SELECT DECODE(AA.region, NULL, BB.CD_NM||'총계', BB.CD_NM||'=>'||AA.region) EXPT
     , SUM(DECODE(AA.prod_id,'00001',AA.sales_cnt,0)) 안마기
     , SUM(DECODE(AA.prod_id,'00002',AA.sales_cnt,0)) 냉장고
     , SUM(DECODE(AA.prod_id,'00001',AA.sales_cnt,0))
     + SUM(DECODE(AA.prod_id,'00002',AA.sales_cnt,0)) 판매량
     
FROM TT_SAL AA
  , TT_CD BB
WHERE AA.area = BB.cd_id
GROUP BY BB.CD_NM, ROLLUP(AA.region)
ORDER BY MAX(AA.area)
;

 

%는 어떤 기준으로 구해야 할까요?

 


by 쌈장묵자 [2015.10.12 17:35:50]

감사합니다 해결됬습니다 ㅎㅎ %는 총 sum에서 그쪽 sum을 나눠서 퍼센트로 보여주는거였어요 ㅎㅎ

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