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

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
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 14122
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 8742
9158 SQL 서버 운용관련 질문 [2] HSQL 2016.02.04 2210
9157 다른이름 DB 로 시점 복구(STOPAT) 문의 드립니다. [2] 구로동라이더 2016.02.04 3939
9156 서버이전후 백업시간 증가 [3] 류종근 2016.02.04 2688
9155 날짜검색 쿼리 문의드려요 [2] Sisylian 2016.02.03 2903
9154 join 문을 처음 해보는데 잘안됩니다.. [3] 슈토파이터 2016.02.03 2277
9153 데이타에서 IN 사용하기..? [6] 문상연 2016.02.02 2289
9152 JOIN할 테이블을 SELECT문으로 설정할 순 없을까요 [7] sincie 2016.02.02 2602
9151 트랜잭션 로그 용량 오류 문의 [7] 솔총이 2016.02.01 3344
9150 mssql 질문 좀 드릴께요. 일정한 수의 행을 반복하면서 열로 변경하는 방법이 있을까요? [2] 시가넘버쓰리 2016.01.30 2851
9149 월별 ,년별 통계쿼리 질문 [4] 다자녀아빠 2016.01.29 2988
9148 이런 시스템에 트리거 ? CDC (Change Data Capture)? 어떤게..좋을까요? [1] 둥이가이 2016.01.29 3274
9147 hashbytes() 질문 [2] 형님 2016.01.29 3128
9146 MS SQL FAIL OVER시 쿼리에 대해서... [1] 그늘 2016.01.29 3322
9145 MySQL -> MS-SQL로 데이터베이스 마이그레이션 궁금증입니다. [2] Gusto 2016.01.28 4061
9144 다국어(NVARCHAR) 에 대한 CHECKINDEX 문의 드립니다 [4] 구로동라이더 2016.01.28 3130
9143 무조건 프로시저로 만드는게 최선인가요? [4] 문상연 2016.01.27 2470
9142 SQL2012 SSMS에서 리프레쉬 단축키(F5) 질문입니다. [1] sincie 2016.01.27 2307
» 아래 쿼리를 더 줄일수 있는 방법이 있을까요? [3] 뇽이 2016.01.27 2246
9140 아래 쿼리 질문 추가 보충입니다. [2] 양재동살아요 2016.01.27 1965
9139 문자열 union all관련 문의 드립니다. [2] 나는짱이야 2016.01.27 2149





XE Login