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 7036 게시물 읽기
No. 7036
쿼리 질문입니다! UNION 한 쿼리 계산
작성자
황우람(applesunny)
작성일
2017-03-03 10:11
조회수
2,825

 3개의 테이블에서 UNION 하여 결과값을 도출했습니다. 

 

MONTH 구분 사과 포도 감귤
2017-01 수량 5 5 5 5
2017-01 중량 30 25 15 10
2017-01 인원 2 3 2 5
2017-02 수량 4 4 4 4
2017-02 중량 20 20 10 8

대략 이런 결과값입니다. 

여기서 질문이 있는데 

NTH 구분 사과 포도 감귤
2017-01 수량 5 5 5 5
2017-01 중량 30 25 15 10
2017-01 인원 2 3 2 5
2017-01 수량/인원 2.5 1.3 2.5 1
2017-02 수량 4 4 4 4
2017-02 중량 20 20 10 8

저렇게 특정 값을 계산하여 추가를 하고 싶은데 어떻게 해야 할지 감이 안옵니다. 고수님들의 조언을 부탁 드리겠습니다! ㅠ

감사합니다. 

 

 

 

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

가공한걸 다시 또 가공하는게 오히려 더 어려울 수 있습니다.
원본을 가공하여 바로 원하는 결과를 얻는게 더 쉬울수도 있습니다.
사용하신 쿼리를 보여주세요.

 

WITH t AS
(
SELECT '2017-01' 연월, '수량' 구분, 5 사과, 5 배, 5 포도, 5 감귤
UNION ALL SELECT '2017-01', '중량', 30, 25, 15, 10
UNION ALL SELECT '2017-01', '인원',  2,  3,  2,  5
UNION ALL SELECT '2017-02', '수량',  4,  4,  4,  4
UNION ALL SELECT '2017-02', '중량', 20, 20, 10,  8
UNION ALL SELECT '2017-02', '인원',  2,  1,  2,  1
)
SELECT *
  FROM (SELECT 연월
             , 과일
             , CAST(수량 AS NUMERIC(5,1)) AS 수량
             , CAST(중량 AS NUMERIC(5,1)) AS 중량
             , CAST(인원 AS NUMERIC(5,1)) AS 인원
             , CAST(수량/인원 AS NUMERIC(5,1)) AS "수량/인원"
          FROM t
         UNPIVOT (v FOR 과일 IN (사과, 배, 포도, 감귤)) a
         PIVOT (SUM(v) FOR 구분 IN (수량, 중량, 인원)) a
        ) a
 UNPIVOT (v FOR 구분 IN (수량, 중량, 인원, [수량/인원])) a
 PIVOT (SUM(v) FOR 과일 IN (사과, 배, 포도, 감귤)) a
 ORDER BY 연월, CHARINDEX(구분, '수량,중량,인원,수량/인원')
;

마농(manon94)님이 2017-03-03 16:27에 작성한 댓글입니다.
이 댓글은 2017-03-03 19:18에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
7039쿼리 질문좀 드려도 될까요? [1]
김지철
2017-03-15
2693
7038트랜잭션 로그에 관해 질문 드립니다 :)
이성원
2017-03-09
2806
7037[해결]복합 인덱스 관련 질문입니다.
조동건
2017-03-07
2715
7036쿼리 질문입니다! UNION 한 쿼리 계산 [1]
황우람
2017-03-03
2825
7035MS-SQL 왕초보 도움 요청드려요~~ [1]
이서영
2017-03-01
2807
7033백업시 오류
김승태
2017-02-13
2838
7032초보입니다. 프로시저 생성은 되는데 웹에서 실행하면 오류가 납니다. [1]
최종철
2017-02-09
2847
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다