데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.



테이블 구조 및 내용은 다음과 같습니다.

SEQ, KIND, DATE, ITEMCODE, EA, GUM

1, 1, 16.01.01, 1153, 50, 50000

1, 1, 16.01.01, 1154, 30, 30000


출력하고자 하는 내용은 다음과 같이  ITEMCODE별로 각 월별로 합계된 수량, 금액을 구하고 있습니다.


품목코드, 1월수량, 1월금액, 2월수량, 2월금액.......12월수량, 12월금액

1153, 50, 50000, 0, 0, .......0,0

1154, 30, 30000, 0, 0, .......0,0


원하는 결과값을 내기 위한 현재 쿼리는 다음과 같습니다.


다음 쿼리를 좀더 줄일수 있을까요?


  select ITEMCODE,
  SUM(ISNULL(CASE WHEN WOL='01' THEN EA END, 0)) AS '1월 수량',
  SUM(ISNULL(CASE WHEN WOL='01' THEN GUM END, 0)) AS '1월 금액',
  SUM(ISNULL(CASE WHEN WOL='02' THEN EA END, 0)) AS '2월 수량',
  SUM(ISNULL(CASE WHEN WOL='02' THEN GUM END, 0)) AS '2월 금액',
  SUM(ISNULL(CASE WHEN WOL='03' THEN EA END, 0)) AS '3월 수량',
  SUM(ISNULL(CASE WHEN WOL='03' THEN GUM END, 0)) AS '3월 금액',
  SUM(ISNULL(CASE WHEN WOL='04' THEN EA END, 0)) AS '4월 수량',
  SUM(ISNULL(CASE WHEN WOL='04' THEN GUM END, 0)) AS '4월 금액',
  SUM(ISNULL(CASE WHEN WOL='05' THEN EA END, 0)) AS '5월 수량',
  SUM(ISNULL(CASE WHEN WOL='05' THEN GUM END, 0)) AS '5월 금액',
  SUM(ISNULL(CASE WHEN WOL='06' THEN EA END, 0)) AS '6월 수량',
  SUM(ISNULL(CASE WHEN WOL='06' THEN GUM END, 0)) AS '6월 금액',
  SUM(ISNULL(CASE WHEN WOL='07' THEN EA END, 0)) AS '7월 수량',
  SUM(ISNULL(CASE WHEN WOL='07' THEN GUM END, 0)) AS '7월 금액',
  SUM(ISNULL(CASE WHEN WOL='08' THEN EA END, 0)) AS '8월 수량',
  SUM(ISNULL(CASE WHEN WOL='08' THEN GUM END, 0)) AS '8월 금액',
  SUM(ISNULL(CASE WHEN WOL='09' THEN EA END, 0)) AS '9월 수량',
  SUM(ISNULL(CASE WHEN WOL='09' THEN GUM END, 0)) AS '9월 금액',
  SUM(ISNULL(CASE WHEN WOL='10' THEN EA END, 0)) AS '10월 수량',
  SUM(ISNULL(CASE WHEN WOL='10' THEN GUM END, 0)) AS '10월 금액',
  SUM(ISNULL(CASE WHEN WOL='11' THEN EA END, 0)) AS '11월 수량',
  SUM(ISNULL(CASE WHEN WOL='11' THEN GUM END, 0)) AS '11월 금액',
  SUM(ISNULL(CASE WHEN WOL='12' THEN EA END, 0)) AS '12월 수량',
  SUM(ISNULL(CASE WHEN WOL='12' THEN GUM END, 0)) AS '12월 금액'
  FROM (select ITEMCODE, substring(DDATE,4,2) as 'WOL', EA, GUM from 원본테이블 where KIND = '1') a
  group by ITEMCODE

No. Subject Author Date Views
9151 트랜잭션 로그 용량 오류 문의 [7] 솔총이 2016.02.01 3219
9150 mssql 질문 좀 드릴께요. 일정한 수의 행을 반복하면서 열로 변경하는 방법이 있을까요? [2] 시가넘버쓰리 2016.01.30 2736
9149 월별 ,년별 통계쿼리 질문 [4] 다자녀아빠 2016.01.29 2947
9148 이런 시스템에 트리거 ? CDC (Change Data Capture)? 어떤게..좋을까요? [1] 둥이가이 2016.01.29 3217
9147 hashbytes() 질문 [2] 형님 2016.01.29 3088
9146 MS SQL FAIL OVER시 쿼리에 대해서... [1] 그늘 2016.01.29 3283
9145 MySQL -> MS-SQL로 데이터베이스 마이그레이션 궁금증입니다. [2] Gusto 2016.01.28 3914
9144 다국어(NVARCHAR) 에 대한 CHECKINDEX 문의 드립니다 [4] 구로동라이더 2016.01.28 3088
9143 무조건 프로시저로 만드는게 최선인가요? [4] 문상연 2016.01.27 2430
9142 SQL2012 SSMS에서 리프레쉬 단축키(F5) 질문입니다. [1] sincie 2016.01.27 2272
» 아래 쿼리를 더 줄일수 있는 방법이 있을까요? [3] 뇽이 2016.01.27 2217
9140 아래 쿼리 질문 추가 보충입니다. [2] 양재동살아요 2016.01.27 1940
9139 문자열 union all관련 문의 드립니다. [2] 나는짱이야 2016.01.27 2125
9138 랜덤함수를 이용하여 특정일자를 지정하는 쿼리 문의 드립니다. 호짱 2016.01.27 1797
9137 호환성질문입니다. 희망나라 2016.01.26 1861
9136 윈도우10 설치문의 [1] SQL_chobo 2016.01.26 4042
9135 중복검사 쿼리 질문 드립니다. [2] 양재동살아요 2016.01.26 2181
9134 그룹의 특정 범위 지정은 어떻게 해야 할까요? [12] Gusto 2016.01.26 3130
9133 SSIS Script Task에서 DLL 사용 [2] 에슈리온 2016.01.25 2167
9132 sql 2012 버전에는 프로파일러가 없는건가요??? [4] 봉자 2016.01.25 2533





XE Login