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 27097 게시물 읽기
No. 27097
mysql 데이터 select 하는것에 대한 질문 입니다.
작성자
김동국
작성일
2007-10-22 11:31ⓒ
2007-10-22 14:12ⓜ
조회수
2,549

데이터베이스 사랑넷 회원님들 안녕하세요.


웹에 트리 테이블 구현을 위해 데이터 베이스를 만드는 중


원하는 형식의 데이터를 추출하기 위한 쿼리문을 알수가 없어 여기 이렇게 질문을 남깁니다.


먼저 테이블 데이터 내용은 아래와 같습니다.



    


각 데이터는 자신의 ip와 parent 정보를 담고 있고 root 가 되는 데이터의 parent 정보는 NULL 로 되어 있습니다.


이런 상황에서 추출되길 원하는 정보 형식은 아래와 같습니다. 트리 구조를 테이블로 표현했다고 보시면 이해가 되실거라 보입니다.





현재 저는 아래와 같은 쿼리문으로 다음과 같은 결과를 얻는데 까지는 성공했지만 위와 같은 형식의 데이터는 구할 수가 없었습니다.

SELECT t1.name AS lev1, t2.name as lev2, t3.name as lev3 FROM nodelist AS t1 LEFT JOIN nodelist AS t2 ON t2.parent = t1.ip LEFT JOIN nodelist AS t3 ON t3.parent = t2.ip where t1.parent is null;



보시면 아시겠지만 트리에서 루트를 표현하기위한 각 lev1 에 해당하는 독립된 row 가 없고 각 노드의 ip 정보를 표현할 수가 없었습니다.


이와 관련해서 데이터베이스사랑넷 여러분의 도움을 기다립니다.. 그럼..(아래는 테이블 생성 쿼리문입니다.)



create table nodelist(name varchar(20) not null, ip varchar(20) not null,parent varchar(20) default null,type varchar(20) not null);

insert into nodelist values('keymaster1','192.168.10.1',null,'keymaster');

insert into nodelist values('keymaster2','192.168.10.2','192.168.10.1','keymaster');

insert into nodelist values('keymaster3','192.168.10.3','192.168.10.1','keymaster');

insert into nodelist values('keymaster4','192.168.10.4','192.168.10.1','keymaster');

insert into nodelist values('clustermaster1','192.168.10.5',null,'clustermaster');

insert into nodelist values('clusterreserved','cr','192.168.10.5','cr');

insert into nodelist values('clustermaster2','192.168.10.6','cr','clustermaster');

insert into nodelist values('clustermaster3','192.168.10.7','cr','clustermaster');

insert into nodelist values('clustermaster4','192.168.10.8','cr','clustermaster');

insert into nodelist values('groubmaster1','192.168.10.9','192.168.10.5','groubmaster');

insert into nodelist values('groubmaster2','192.168.10.10','192.168.10.5','groubmaster');

insert into nodelist values('groubmaster3','192.168.10.11','192.168.10.5','groubmaster');

insert into nodelist values('groubmaster4','192.168.10.12','192.168.10.5','groubmaster');

insert into nodelist values('keymaster5','192.168.10.13','192.168.10.1','keymaster');

insert into nodelist values('node1','192.168.10.14','192.168.10.9','subnode');

insert into nodelist values('node2','192.168.10.15','192.168.10.9','subnode');

insert into nodelist values('provisioningMaster','192.168.10.16',null,'pmaster');




[Top]
No.
제목
작성자
작성일
조회
27101급질문입니다.. ㅜㅜ [1]
최현일
2007-10-23
1920
27100쿼리문 조언 좀 부탁드리겠습니다.. [2]
정대상
2007-10-22
2486
27099text 타입을 mediumtext 타입으로 변경하려고 합니다. [1]
서기
2007-10-22
2924
27097mysql 데이터 select 하는것에 대한 질문 입니다.
김동국
2007-10-22
2549
27096테이블 구조가 동일한 여러 테이블의 모든 값을 날짜순으로 가져오는 방법 [1]
조현철
2007-10-20
2597
27095서버 리부팅만 하면 db가 깨지는 문제
Estich
2007-10-20
2286
27094window개발활경 UDF만들기에 대해
김지혜
2007-10-20
2779
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다