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 39445 게시물 읽기
No. 39445
한 row의 데이터로 행,열 나눠서 조회하기
작성자
질문자
작성일
2012-05-09 15:51
조회수
3,607

질문을 제대로 표현했는지 모르겠네요,

예를들어 table에 data가

A  가 1
A  가 2
A  나 3
B  가 4
B 나 4
B 나 1

이런식으로 있을때,,,,
왼쪽에 A,B로 나눠지고 위에 가,나로 나눠져서 옆에 숫자 합계를 표시하는
표처럼
A 가 3
A 나 3
B 가 4
B 나 5 

이렇게 표현하려면 어떻게해야하나요?
검색을 해봐도 어떻게 표현해야할지 몰라서,
막막하네요 부탁드려요~

 

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

WITH t AS
(
SELECT 'A' c1, '가' c2, 1 v FROM dual
UNION ALL SELECT 'A', '가', 2 FROM dual
UNION ALL SELECT 'A', '나', 3 FROM dual
UNION ALL SELECT 'B', '가', 4 FROM dual
UNION ALL SELECT 'B', '나', 4 FROM dual
UNION ALL SELECT 'B', '나', 1 FROM dual
)
SELECT c1, c2
     , SUM(v) c3
  FROM t
 GROUP BY c1, c2
 ORDER BY c1, c2
;

마농(manon94)님이 2012-05-09 17:06에 작성한 댓글입니다.

감사합니다.

그런데, A,B 가,나 가 유동적이고결과가

     가    나
A   3     3
B    4   5

이렇게 되려면 어떻게해야하나요?
한번더 부탁드립니다.ㅠ

질문자님이 2012-05-09 18:41에 작성한 댓글입니다.
이 댓글은 2012-05-09 18:58에 마지막으로 수정되었습니다. Edit

SELECT c1
     , SUM(DECODE(c2, '가', v)) 가
     , SUM(DECODE(c2, '나', v)) 나
     , SUM(v) 합
  FROM t
 GROUP BY c1
 ORDER BY c1
;

컬럼을 유동적으로 늘릴 수는 없습니다.

마농(manon94)님이 2012-05-09 18:56에 작성한 댓글입니다.
이 댓글은 2012-05-09 19:13에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
39448오류 수정좀 부탁 드립니다. [1]
학생
2012-05-11
3979
39447오라클 trc 질문드립니다.
윤명철
2012-05-11
3865
39446조인하는 테이블의 구동순서 [1]
박재현
2012-05-11
3446
39445한 row의 데이터로 행,열 나눠서 조회하기 [3]
질문자
2012-05-09
3607
39444고수님들께..오라클 function 관련 질문드립니다. [2]
박정우
2012-05-09
4395
39443정렬을 하고 싶은데요 [1]
어떻게하지
2012-05-09
3547
39442특정시점부터 변경된 테이블들의 리스트를 알수 있을까요?
하이요
2012-05-09
3344
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다