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 40355 게시물 읽기
No. 40355
안녕하십니까? 궁금한게 하나 있어 글을 올립니다.
작성자
황인준(초콜릿바나나)
작성일
2014-01-07 10:09
조회수
7,375

SELECT DECODE(GROUPING(TOT_DEPT_NM),1,'총 합계', TOT_DEPT_NM) TOT_DEPT_NM,
       DECODE(GROUPING(DEPT_NM),1,'합계', DEPT_NM) DEPT_NM,
       SUM(BASE_AMT) "BASE_AMT",
       SUM(SUK_AMT) "SUK_AMT",
       SUM(BAN_AMT) "BAN_AMT",
       SUM(FAM_AMT) "FAM_AMT",
       SUM(TONG_AMT) "TONG_AMT",
       SUM(FOOD_AMT) "FOOD_AMT"
FROM HRMS.HDSA_BASE_VIEW_D
GROUP BY ROLLUP(TOT_DEPT_NM, DEPT_NM)

이렇게 구문 짯구요.

TOT_DEPT_NM DEPT_NM BASE_AMT BAN_AMT ... ... ...
대한민국 서울 1 1      
대한민국 대전 2 2      
대한민국 대구 3 3      
대한민국 합계 6 6      
미국 뉴욕 5 5      
미국 합계 5 5      

지금은 이렇게 출력됩니다.

이걸

TOT_DEPT_NM DEPT_NM BASE_AMT BAN_AMT ... ... ...
대한민국 서울 1 1      
  대전 2 2      
  대구 3 3      
  합계 6 6      
미국 뉴욕 5 5      
  합계 5 5      

이렇게 바꾸고 싶은데요. 도저히 방법을 모르겠네요.

조언 부탁드립니다.

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


SELECT CASE WHEN TOT_DEPT_NM = LAG(TOT_DEPT_NM) OVER(ORDER BY ROWNUM) THEN NULL
            ELSE TOT_DEPT_NM
       END  TOT_DEPT_NM
     , DEPT_NM
     , BASE_AMT
     , SUK_AMT
     , BAN_AMT
     , FAM_AMT
     , TONG_AMT
     , FOOD_AMT
FROM  (
        SELECT DECODE(GROUPING(TOT_DEPT_NM),1,'총 합계', TOT_DEPT_NM) TOT_DEPT_NM,
               DECODE(GROUPING(DEPT_NM),1,'합계', DEPT_NM) DEPT_NM,
               SUM(BASE_AMT) "BASE_AMT",
               SUM(SUK_AMT) "SUK_AMT",
               SUM(BAN_AMT) "BAN_AMT",
               SUM(FAM_AMT) "FAM_AMT",
               SUM(TONG_AMT) "TONG_AMT",
               SUM(FOOD_AMT) "FOOD_AMT"
        FROM HRMS.HDSA_BASE_VIEW_D
        GROUP BY ROLLUP(TOT_DEPT_NM, DEPT_NM)
      )
 

햇살한조각님이 2014-01-07 11:26에 작성한 댓글입니다. Edit

SELECT DECODE(1, GROUPING(tot_dept_nm), '총 합계'
               , RANK() OVER(PARTITION BY tot_dept_nm ORDER BY dept_nm)
               , tot_dept_nm) tot_dept_nm

마농(manon94)님이 2014-01-07 11:30에 작성한 댓글입니다.

답글 달아주신 두분께 감사드립니다.

많은 도움되었습니다.

황인준(초콜릿바나나)님이 2014-01-10 11:53에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40358where vs join [3]
박민정
2014-01-10
7172
40357해당년도의 5년전 5년후 데이터를 순차적으로 구하고 싶습니다. [2]
RN
2014-01-10
7441
40356기간 조회하는 where 조건이 헷갈리네요 [2]
질럿
2014-01-07
7117
40355안녕하십니까? 궁금한게 하나 있어 글을 올립니다. [3]
황인준
2014-01-07
7375
40354여러건이면 NULL 단일 데이터이면 단일 데이터 리턴 할 수 있는 쿼리가 있을까요? [3]
R
2014-01-07
7098
40353update하려는데 너무 속도가 안나오네요. [3]
야간비행
2014-01-03
7438
4035211g DataGuard구성적용을 위한 변경
이태훈
2014-01-02
6665
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다