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

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 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
9159 닷넷 윈도우 프로그램 개발 시 db 보안 [2] 청소하자 2016.02.04 2377
9158 SQL 서버 운용관련 질문 [2] HSQL 2016.02.04 2173
9157 다른이름 DB 로 시점 복구(STOPAT) 문의 드립니다. [2] 구로동라이더 2016.02.04 3847
9156 서버이전후 백업시간 증가 [3] 류종근 2016.02.04 2614
9155 날짜검색 쿼리 문의드려요 [2] Sisylian 2016.02.03 2870
9154 join 문을 처음 해보는데 잘안됩니다.. [3] 슈토파이터 2016.02.03 2248
9153 데이타에서 IN 사용하기..? [6] 문상연 2016.02.02 2266
9152 JOIN할 테이블을 SELECT문으로 설정할 순 없을까요 [7] sincie 2016.02.02 2573
9151 트랜잭션 로그 용량 오류 문의 [7] 솔총이 2016.02.01 3211
9150 mssql 질문 좀 드릴께요. 일정한 수의 행을 반복하면서 열로 변경하는 방법이 있을까요? [2] 시가넘버쓰리 2016.01.30 2732
9149 월별 ,년별 통계쿼리 질문 [4] 다자녀아빠 2016.01.29 2946
9148 이런 시스템에 트리거 ? CDC (Change Data Capture)? 어떤게..좋을까요? [1] 둥이가이 2016.01.29 3216
9147 hashbytes() 질문 [2] 형님 2016.01.29 3084
9146 MS SQL FAIL OVER시 쿼리에 대해서... [1] 그늘 2016.01.29 3283
9145 MySQL -> MS-SQL로 데이터베이스 마이그레이션 궁금증입니다. [2] Gusto 2016.01.28 3911
9144 다국어(NVARCHAR) 에 대한 CHECKINDEX 문의 드립니다 [4] 구로동라이더 2016.01.28 3087
9143 무조건 프로시저로 만드는게 최선인가요? [4] 문상연 2016.01.27 2430
9142 SQL2012 SSMS에서 리프레쉬 단축키(F5) 질문입니다. [1] sincie 2016.01.27 2263
» 아래 쿼리를 더 줄일수 있는 방법이 있을까요? [3] 뇽이 2016.01.27 2216
9140 아래 쿼리 질문 추가 보충입니다. [2] 양재동살아요 2016.01.27 1940





XE Login