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 40058 게시물 읽기
No. 40058
부탁드리겠습니다.
작성자
기윤서(jjajangbari)
작성일
2013-03-18 22:12
조회수
5,565

 

쿼리좀 부탁드리겠습니다 ㅠㅠ

 

서울  | 강남 | 회원구분1 | 남 | 100

서울  | 강남 | 회원구분1 | 여 | 0

서울  | 강남 | 회원구분1 | 불명 | 30

서울 | 강남 | 회원구분2 | 남 | 200

서울 | 강남 | 회원구분2 | 여 | 30

서울 | 강남 | 회원구분2 | 불명 | 30

서울  | 강동 | 회원구분2 | 남 | 100

서울  | 강동 | 회원구분2 | 여 | 0

서울  | 강동 | 회원구분2 | 불명 | 30

서울 | 강동 | 회원구분3 | 남 | 200

서울 | 강동 | 회원구분3 | 여 | 30

서울 | 강동 | 회원구분3 | 불명 | 30

경기  | 수원 | 회원구분4 | 남 | 100

경기  | 수원 | 회원구분4 | 여 | 0

경기  | 수원 | 회원구분4 | 불명 | 30

경기 | 수원 | 회원구분6 | 남 | 200

경기 | 수원 | 회원구분6 | 여 | 30

경기 | 수원 | 회원구분6 | 불명 | 30

 

위와같은 데이터가 존재합니다.

저 데이터를

지역 | 구 | 회원구분1 남자 | 회원구분1 여자 | 회원구분1 불명 | 회원구분1 합 | 회원구분2 남자 | 회원구분2 여자 | 회원구분2 불명 | 회원구분2 합 | 회원구분3 남자....

서울 | 강남 | 100 | 0 | 30 | 130 | 200 | 30 | 30 | 260 |...

서울 | 강동 | 0 | 0 | 0 | 100 | 0 | 30 | 130.....

경기 | 수원 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 100 | 0 | 30 | 130 | 200 | 30 | 30 | 260

 

이런식으로 쿼리를 작성하고 싶습니다.

회원구분은 총 14개가 있고, 성별은 3가지입니다. 기준은 지역,구로 잡아야 하구요...

도움 부탁드리겠습니다 ㅠㅠ 

 

눈팅한지도 3년이 넘어가는대 이놈의 머리가 안따라주내요 ㅠㅠ

이 글에 대한 댓글이 총 2건 있습니다.
14개 회원은 추가해주시면 됩니다.
 
WITH t(지역, 구, 회원, 성별, 인원) AS(
SELECT '서울', '강남', '회원1', '남'  , 100 FROM dual UNION ALL
SELECT '서울', '강남', '회원1', '여'  ,   0 FROM dual UNION ALL
SELECT '서울', '강남', '회원1', '불명',  30 FROM dual UNION ALL
SELECT '서울', '강남', '회원2', '남'  , 200 FROM dual UNION ALL
SELECT '서울', '강남', '회원2', '여'  ,  30 FROM dual UNION ALL
SELECT '서울', '강남', '회원2', '불명',  30 FROM dual UNION ALL
SELECT '서울', '강동', '회원2', '남'  , 100 FROM dual UNION ALL
SELECT '서울', '강동', '회원2', '여'  ,   0 FROM dual UNION ALL
SELECT '서울', '강동', '회원2', '불명',  30 FROM dual UNION ALL
SELECT '서울', '강동', '회원3', '남'  , 200 FROM dual UNION ALL
SELECT '서울', '강동', '회원3', '여'  ,  30 FROM dual UNION ALL
SELECT '서울', '강동', '회원3', '불명',  30 FROM dual UNION ALL
SELECT '경기', '수원', '회원4', '남'  , 100 FROM dual UNION ALL
SELECT '경기', '수원', '회원4', '여'  ,   0 FROM dual UNION ALL
SELECT '경기', '수원', '회원4', '불명',  30 FROM dual UNION ALL
SELECT '경기', '수원', '회원6', '남'  , 200 FROM dual UNION ALL
SELECT '경기', '수원', '회원6', '여'   , 30 FROM dual UNION ALL
SELECT '경기', '수원', '회원6', '불명',  30 FROM dual
)
SELECT 지역, 구 
     , SUM(CASE WHEN 회원 = '회원1' AND 성별 = '남'   THEN 인원 END) 회원1_남자
     , SUM(CASE WHEN 회원 = '회원1' AND 성별 = '여'   THEN 인원 END) 회원1_여자
     , SUM(CASE WHEN 회원 = '회원1' AND 성별 = '불명' THEN 인원 END) 회원1_불명
     , SUM(CASE WHEN 회원 = '회원1'                  THEN 인원 END) 회원1_합계
     , SUM(CASE WHEN 회원 = '회원2' AND 성별 = '남'   THEN 인원 END) 회원2_남자
     , SUM(CASE WHEN 회원 = '회원2' AND 성별 = '여'   THEN 인원 END) 회원2_여자
     , SUM(CASE WHEN 회원 = '회원2' AND 성별 = '불명' THEN 인원 END) 회원2_불명
     , SUM(CASE WHEN 회원 = '회원2'                  THEN 인원 END) 회원2_합계
     , SUM(CASE WHEN 회원 = '회원3' AND 성별 = '남'   THEN 인원 END) 회원3_남자
     , SUM(CASE WHEN 회원 = '회원3' AND 성별 = '여'   THEN 인원 END) 회원3_여자
     , SUM(CASE WHEN 회원 = '회원3' AND 성별 = '불명' THEN 인원 END) 회원3_불명
     , SUM(CASE WHEN 회원 = '회원3'                  THEN 인원 END) 회원3_합계
     -- 나머지 회원 추가...
  FROM t
 GROUP BY 지역, 구
 ORDER BY 지역, 구   
 

 

아린(arin76)님이 2013-03-18 22:32에 작성한 댓글입니다.
이 댓글은 2013-03-18 22:35에 마지막으로 수정되었습니다.

인원으로 직접 sum을 해도 되는군요...

 

도움 감사합니다 ^^

SEO(jjajangbari)님이 2013-03-19 09:53에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40062질문입니다 [1]
우제훈
2013-03-19
5037
40061LOB INDEX RENAME 은 불가능 한간가요?
공돌이
2013-03-19
5045
40060도와주세요~ [1]
우제훈
2013-03-19
4955
40058부탁드리겠습니다. [2]
기윤서
2013-03-18
5565
40056오라클에 as 별칭하는데 한글은 안되는건가요? [1]
박재은
2013-03-18
5636
40055이런식의 값을...가져올수 있을까요. [1]
새하정
2013-03-18
5417
40054테이블스페이스를 삭제한상태에서 데이타파일삭제
DBA희망자
2013-03-18
5030
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다