database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 38910 게시물 읽기
No. 38910
쿼리를 간단하게 하려면..
작성자
궁금이(kimscom)
작성일
2011-09-27 11:43
조회수
3,532

SELECT ITEM1, ITEM2, ITEM3, SUM(R1QTY) R1QTY, SUM(R2QTY) R2QTY, SUM(TTLQTY) TTLQTY
  FROM (
        SELECT ITEM1, ITEM2, ITEM3, SUM(QTY) R1QTY, 0 R2QTY, 0 TTLQTY
          FROM TABLE_K
         WHERE GUBUN = '1'
         GROUP BY ITEM1, ITEM2, ITEM3
        UNION ALL
        SELECT ITEM1, ITEM2, ITEM3, 0 R1QTY, SUM(QTY) R2QTY, 0 TTLQTY
          FROM TABLE_K
         WHERE GUBUN = '2'
         GROUP BY ITEM1, ITEM2, ITEM3
         UNION ALL
        SELECT ITEM1, ITEM2, ITEM3, 0 R1QTY, 0 R2QTY, SUM(QTY)  TTLQTY
          FROM TABLE_K
         GROUP BY ITEM1, ITEM2, ITEM3
       )
 GROUP BY ITEM1, ITEM2, ITEM3 ;

 

위 쿼리를 좀더 간단하게 어떻게 바꿀수 있나요?

gubun 별로 수량을 SUM하고, 전체를 SUM 한 값을 각각의 컬럼으로 나타내고자 합니다.

 

이 글에 대한 댓글이 총 1건 있습니다.

SELECT ITEM1    ,ITEM2  ,ITEM3
      ,SUM(DECODE(GUBUN ,'1',QTY,0) ) AS R1QTY
      ,SUM(DECODE(GUBUN ,'2',QTY,0) ) AS R2QTY
      ,SUM(QTY)                     AS TTLQTY
  FROM TABLE_K
 GROUP BY ITEM1, ITEM2, ITEM3

강용구(kagngu)님이 2011-09-27 14:25에 작성한 댓글입니다.
이 댓글은 2011-09-27 14:26에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
38913계층형 부서 테이블에서 삭제시 하위 부서 존재 여부 체크Triger Mutating 에러
강용구
2011-09-27
4335
38912오라클 쿼리에서 & 문자열을 출력하려면 어떻게 하면 되나요? [2]
조동건
2011-09-27
4188
38911이런 쿼리 한번에 가능한가요? [2]
조동건
2011-09-27
4043
38910쿼리를 간단하게 하려면.. [1]
궁금이
2011-09-27
3532
389081:0,1 릴레이션 테이블 설계 질문 [2]
2011-09-27
4354
38907오라클 SQL에서 변수 선언은 어떻게 하나요? [3]
조동건
2011-09-26
4777
38906Add Month [2]
하홍민
2011-09-26
4532
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다