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
운영게시판
최근게시물
MS-SQL Q&A 7004 게시물 읽기
No. 7004
월별 가로 출력 ms-sql 쿼리 질문입니다. 내공100
작성자
김민용
작성일
2016-09-01 16:54
조회수
3,770

입력 데이타

 

status reg_date centercodename bottomcodename codedatavalue

진행 2016-01-01 감정 DATA 행복감 0

진행 2016-02-01 감정 DATA 행복감 0

진행 2016-03-01 감정 DATA 행복감 0

진행 2016-04-01 감정 DATA 행복감 0

진행 2016-05-01 감정 DATA 행복감 0

진행 2016-06-01 감정 DATA 행복감 0

진행 2016-07-01 감정 DATA 행복감 0

진행 2016-08-01 감정 DATA 행복감 0

진행 2016-09-01 감정 DATA 행복감 0

진행 2016-10-01 감정 DATA 행복감 5

진행 2016-11-01 감정 DATA 행복감 0

진행 2016-12-01 감정 DATA 행복감 0

연목표 2016-01-01 감정 DATA 행복감 30

진행 2016-01-01 감정 DATA 칭찬 8

진행 2016-01-05 감정 DATA 칭찬 5

진행 2016-02-01 감정 DATA 칭찬 0

진행 2016-03-01 감정 DATA 칭찬 0

진행 2016-04-01 감정 DATA 칭찬 0

진행 2016-05-01 감정 DATA 칭찬 0

진행 2016-06-01 감정 DATA 칭찬 0

진행 2016-07-01 감정 DATA 칭찬 0

진행 2016-08-01 감정 DATA 칭찬 0

진행 2016-09-01 감정 DATA 칭찬 0

진행 2016-10-01 감정 DATA 칭찬 0

진행 2016-11-01 감정 DATA 칭찬 0

진행 2016-12-01 감정 DATA 칭찬 0

연목표 2016-01-01 감정 DATA 칭찬 50

 

 

 

 

 

 

 

출력 data

 

목표 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월 합계 평균

행복감 30 0 0 0 0 0 0 0 0 0 5 0 0 0 0

칭찬 50 13 0 0 0 0 0 0 0 0 0 0 0 0 0

 

 

ms sql 쿼리문 답변좀 부탁드립니다.

 

 

 

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

WITH t(status, reg_date, centercodename, bottomcodename, codedatavalue) AS
(
          SELECT '진행'  , '2016-01-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '진행'  , '2016-02-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '진행'  , '2016-03-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '진행'  , '2016-04-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '진행'  , '2016-05-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '진행'  , '2016-06-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '진행'  , '2016-07-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '진행'  , '2016-08-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '진행'  , '2016-09-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '진행'  , '2016-10-01', '감정 DATA', '행복감',  5
UNION ALL SELECT '진행'  , '2016-11-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '진행'  , '2016-12-01', '감정 DATA', '행복감',  0
UNION ALL SELECT '연목표', '2016-01-01', '감정 DATA', '행복감', 30
UNION ALL SELECT '진행'  , '2016-01-01', '감정 DATA', '칭찬'  ,  8
UNION ALL SELECT '진행'  , '2016-01-05', '감정 DATA', '칭찬'  ,  5
UNION ALL SELECT '진행'  , '2016-02-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '진행'  , '2016-03-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '진행'  , '2016-04-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '진행'  , '2016-05-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '진행'  , '2016-06-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '진행'  , '2016-07-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '진행'  , '2016-08-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '진행'  , '2016-09-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '진행'  , '2016-10-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '진행'  , '2016-11-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '진행'  , '2016-12-01', '감정 DATA', '칭찬'  ,  0
UNION ALL SELECT '연목표', '2016-01-01', '감정 DATA', '칭찬'  , 50
)
SELECT bottomcodename 구분
     , SUM(g) 목표
     , SUM(CASE mm WHEN '01' THEN v END) [01월]
     , SUM(CASE mm WHEN '02' THEN v END) [02월]
     , SUM(CASE mm WHEN '03' THEN v END) [03월]
     , SUM(CASE mm WHEN '04' THEN v END) [04월]
     , SUM(CASE mm WHEN '05' THEN v END) [05월]
     , SUM(CASE mm WHEN '06' THEN v END) [06월]
     , SUM(CASE mm WHEN '07' THEN v END) [07월]
     , SUM(CASE mm WHEN '08' THEN v END) [08월]
     , SUM(CASE mm WHEN '09' THEN v END) [09월]
     , SUM(CASE mm WHEN '10' THEN v END) [10월]
     , SUM(CASE mm WHEN '11' THEN v END) [11월]
     , SUM(CASE mm WHEN '12' THEN v END) [12월]
     , SUM(v) 합계
     , AVG(v * 1.) 평균
  FROM (SELECT SUBSTRING(reg_date, 6, 2) mm
             , bottomcodename
             , SUM(CASE status WHEN '연목표' THEN codedatavalue END) g
             , SUM(CASE status WHEN '진행'   THEN codedatavalue END) v
          FROM t
         WHERE reg_date LIKE '2016%'
           AND centercodename = '감정 DATA'
         GROUP BY SUBSTRING(reg_date, 6, 2), bottomcodename
        ) a
 GROUP BY bottomcodename
;

마농(manon94)님이 2016-09-02 08:39에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7008프로시저에서 개체이름이 잘못되었다고 나옵니다. [1]
둥둥이
2016-09-22
4309
7007full-text-search 결과 이상. [2]
버거버그
2016-09-11
4935
7005시간대별 통계 질문 입니다. [2]
Hanzel
2016-09-02
3798
7004월별 가로 출력 ms-sql 쿼리 질문입니다. 내공100 [1]
김민용
2016-09-01
3770
7003IF NOT EXISTS (...) INSERT ... ELSE UPDATE ... 구문에도 트랜잭션을 써야하나요?
iruis
2016-09-01
3790
7002SQL200-> SQL2008R2 마이그래션 방법
김미애
2016-08-31
3544
7001MS-SQL 간의 테이블 복사
윤병호
2016-08-31
3656
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다