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
운영게시판
최근게시물
MySQL Q&A 27821 게시물 읽기
No. 27821
쿼리 질문입니다.
작성자
박상덕(pattere)
작성일
2008-10-07 22:35
조회수
3,895

다음과 같이 3개의 Table이 있다고 가정합니다.


Table A          Table B        Table C


a   b   c          d                  e     f

========         ==                =======

H1 P1 10         H1                P1  G1

H1 P1 20         H2                P2  G2

H1 P2 30         H3                P3  G2

H2 P3 10

H2 P3 10


Table 간의 관계는 


TableA.a = TableB.b 이고

TableA.b = TableC.e 입니다.


원하는 결과물은 아래와 같습니다.


G1  H1  30

G1  H2  0

G1  H3  0

G2  H1  30

G2  H2  20

G2  H3  0


아무리 머리를 쥐어짜고 잘 안되네요~ 고수님들의 답변을 기대하겠습니다.

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

Table C의 e 컬럼과 Table B의 d 컬럼에 매치하는 case 문을 사용하여 
가상의 데이터를 만들고 거기에서 원하는 결과를 뽑아내야 할 것 같은데요.

예를 들면  아래와 같은 방법이요.

   SELECT  C.e,  B.d,   A.c,
      CASE WHEN C.e = 'P1' THEN CASE WHEN B.d = 'H1' THEN A.c ELSE 0 END  ELSE  0 END AS P1_H1,
      CASE WHEN C.e = 'P1' THEN CASE WHEN B.d = 'H2' THEN A.c ELSE 0 END  ELSE  0 END AS P1_H2,
      CASE WHEN C.e = 'P1' THEN CASE WHEN B.d = 'H3' THEN A.c ELSE 0 END  ELSE  0 END AS P1_H3,
      CASE WHEN C.e = 'P2' THEN CASE WHEN B.d = 'H1' THEN A.c ELSE 0 END  ELSE  0 END AS P2_H1,
      CASE WHEN C.e = 'P2' THEN CASE WHEN B.d = 'H2' THEN A.c ELSE 0 END  ELSE  0 END AS P2_H2,
      CASE WHEN C.e = 'P2' THEN CASE WHEN B.d = 'H3' THEN A.c ELSE 0 END  ELSE  0 END AS P2_H3,
      CASE WHEN C.e = 'P3' THEN CASE WHEN B.d = 'H1' THEN A.c ELSE 0 END  ELSE  0 END AS P3_H1,
      CASE WHEN C.e = 'P3' THEN CASE WHEN B.d = 'H2' THEN A.c ELSE 0 END  ELSE  0 END AS P3_H2,
      CASE WHEN C.e = 'P3' THEN CASE WHEN B.d = 'H3' THEN A.c ELSE 0 END  ELSE  0 END AS P3_H3
    FROM A, B, C
    WHERE A.a = B.d
    AND A.b = C.e
 
참조하시고 원하는 결과를 얻어시기 바랍니다.
수고하세요.

이경진님이 2008-10-11 21:44에 작성한 댓글입니다.
이 댓글은 2008-10-11 21:48에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
27824초보퀴리질문요 [1]
yjs
2008-10-11
3559
27823MySQL 설치시 에러가 납니다. [1]
보리심
2008-10-11
4440
27822데이타 베이스 및 테이블 관리 문의 [1]
새벽소리
2008-10-08
4066
27821쿼리 질문입니다. [1]
박상덕
2008-10-07
3895
27820섹션종료에 관한 질문드리고 싶습니다. [1]
김승수
2008-10-07
3713
27819Replication 중에.. [1]
이성식
2008-10-06
3811
27818from 절에 여러 테이블을 쓰고 싶습니다. [1]
다라나
2008-10-05
4062
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다