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 27226 게시물 읽기
No. 27226
이런걸 쿼리로 할수 있을까요?
작성자
조원국(nslookup)
작성일
2007-12-05 14:20
조회수
2,199

table: a

id data
1 a
2 b


table: b

id data
1 c
2 d


table: c

id data
1 e
2 f

table: d
id table pid
1 0 1
2 1 2

테이블 d의 레코드 설명을 드리면 table a의 id 1인 것 이렇습니다.두번째 줄은 table b의 id가 2인것 이렇습니다.

테이블 d에 있는 pid가 가리키는 레코드를 a, b, c 의 테이블에서 읽어오고 싶습니다.
이걸 한번의 쿼리로 할수 있을까요? 설명이 제대로 됐는지 모르겠네요.
이 글에 대한 댓글이 총 2건 있습니다.

union으로 묶은 후에 쿼리하면 어떻게든 될 것 같은데요?

일단 생각을 좀 해봐야겠네요...

 

박현우(lqez)님이 2007-12-10 14:57에 작성한 댓글입니다.

일단 제가 생각한 쿼리는 아래와 같습니다.

select t_set.data from ( select 0 as t_id, id, data from test_a union select 1 as t_id, id, data from test_b union select 2 as t_id, id, data from test_c ) t_set, test_d as d where t_set.t_id = d.tbl_id and t_set.id = d.pid;

 

수행 결과는 아래와 같습니다.

+------+

| data |

+------+

| a |

| d |

+------+

2 rows in set (0.00 sec)

 

아마 더 좋은 쿼리가 있겠죠?

 

아래는 테이블 내역입니다.

------------------------------------------------------------------

mysql> select * from test_a;

+------+------+

| id | data |

+------+------+

| 1 | a |

| 2 | b |

+------+------+

2 rows in set (0.00 sec)

 

mysql> select * from test_b;

+------+------+

| id | data |

+------+------+

| 1 | c |

| 2 | d |

+------+------+

2 rows in set (0.00 sec)

 

mysql> select * from test_c;

+------+------+

| id | data |

+------+------+

| 1 | e |

| 2 | f |

+------+------+

2 rows in set (0.00 sec)

 

mysql> select * from test_d;

+------+--------+------+

| id | tbl_id | pid |

+------+--------+------+

| 1 | 0 | 1 |

| 2 | 1 | 2 |

+------+--------+------+

2 rows in set (0.00 sec)

 

 

 

박현우(lqez)님이 2007-12-10 15:03에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
27229초보) c로 sql접속하기 [1]
ryu
2007-12-06
2551
27228/tmp/mysql.sock 사라지는 현상 [1]
지용호
2007-12-05
2575
27227종속성?????? 단어의 의미가...
db초보
2007-12-05
2605
27226이런걸 쿼리로 할수 있을까요? [2]
조원국
2007-12-05
2199
27225[질문] 데이타베이스 설계중 문의 드립니다. [1]
남상식
2007-12-05
2261
27224wait_timeout 변경시 고려사항? [1]
이경희
2007-12-05
3648
27222캐릭터셋 변경에 대해 질문드려요 ^^ [1]
박성원
2007-12-04
3251
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다