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 41556 게시물 읽기
No. 41556
쿼리 질문 드립니다.
작성자
chokm
작성일
2018-04-24 14:13ⓒ
2018-04-24 14:18ⓜ
조회수
5,161

안녕하세요.

쿼리 질문드립니다.

날짜를 조회시 아래와 같이 출력하고자 합니다.

해당날짜 조회 시 동적으로 날짜 컬럼셋팅

2018-04-24로 조회시

구분       전년동기           조회날짜           매출 증감

            2017-04-24     2018-04-24  

             횟수    금액       횟수    금액

a            10    1,000      20     2,000     1,000

b            15    2,000      10     1,500    -500

소계         25    3,000      30   3,500      500

합계         25    3,000   30   3,500       500

고수분들의 의견 부탁드립니다.

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

1. 쿼리 결과를 엑셀처럼 자유롭게 표현할 수는 없습니다.
  - 컬럼을 병합한다거나
  - 타이틀이 두줄로 나온다거나
  - 하나의 컬럼에 위아래 다른 종류의 값을 뿌리는 거는 어렵습니다.
2. 2월29 일의 경우 어떻게 표현될지 고민해 보세요.
  - 2016-02-28 - 12개월 = 2015-02-28
  - 2016-02-29 - 12개월 = 2015-02-28
  - 2017-02-28 - 12개월 = 2016-02-29


WITH t AS
(
SELECT 'A' gb1, 'a' gb2, '2017-04-24' dt, 10 cnt, 1000 amt FROM dual
UNION ALL SELECT 'A', 'b', '2017-04-24', 15, 2000 FROM dual
UNION ALL SELECT 'A', 'a', '2018-04-24', 20, 2100 FROM dual
UNION ALL SELECT 'A', 'b', '2018-04-24', 10, 1500 FROM dual
)
SELECT NVL(gb1, '전체') gb1
     , DECODE(GROUPING(gb1), 1, '합계', NVL(gb2, '소계')) gb2
     , SUM(DECODE(dt, dt1, cnt)) cnt1
     , SUM(DECODE(dt, dt1, amt)) amt1
     , SUM(DECODE(dt, dt2, cnt)) cnt2
     , SUM(DECODE(dt, dt2, amt)) amt2
     , SUM(DECODE(dt, dt2, amt))
     - SUM(DECODE(dt, dt1, amt)) amt3
  FROM t
     , (SELECT :p_dt dt2
             , TO_CHAR(ADD_MONTHS(TO_DATE(:p_dt, 'yyyy-mm-dd'), -12)
               , 'yyyy-mm-dd') dt1
          FROM dual
        )
 WHERE dt IN (dt1, dt2)
 GROUP BY ROLLUP(gb1, gb2)
;

마농(manon94)님이 2018-04-25 15:11에 작성한 댓글입니다.
이 댓글은 2018-04-25 15:22에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
41560차감로직이 안떠오르네요 [1]
블라
2018-05-03
4909
41558년도가 넘어가는 주차의 계산이 안돼네요 [1]
MSSQL
2018-04-26
5326
41557랜덤 업데이트 문의드립니다. [3]
서준용
2018-04-24
5161
41556쿼리 질문 드립니다. [1]
chokm
2018-04-24
5161
41553대량 update시 실패 [2]
MOON
2018-04-18
5301
41552쿼리 질문드립니다. [2]
이승용
2018-04-17
5156
41551쿼리 질문 드립니다. [4]
왕초보
2018-04-16
5037
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다