EDIT : 일부 답변을 읽은 후 재귀가 필요하지는 않지만 일부 쿼리는 트리와 함께 작동합니다. 나는 현재 알고 있지 않은 기본 개념과 적절한 방법을 제공하는 다음 게시물 http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/을 읽고있다. 고마워, 게시 된 링크를 계속 읽으겠습니다.SQL recursive : 트리의 주어진 노드에서 모든 자식을 선택하십시오.
저는 모든 노드가 하위 노드를 가질 수있는 트리에서 작업하고 있습니다. 모든 노드는 그 부모를 참조하기 위해 자식에 의해 자체 생성 된 node_id를가집니다. 간단한 테이블 예는 수 다음
CREATE TABLE IF NOT EXISTS `arbres` ( `node_id` int(11) NOT NULL AUTO_INCREMENT, `pare_id` int(11) DEFAULT NULL, PRIMARY KEY (`node_id`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=470 ; ALTER TABLE arbres ADD CONSTRAINT FK_E6A4F221A4467B16 FOREIGN KEY (pare_id) REFERENCES arbres(node_id) ON DELETE CASCADE;
내가 뭘 노력하고있어 모든 어린이를 선택할 수 있습니다 등등, 내가 차일의 차일, 차일의 차일을 의미 쿼리를 찾을 수 있습니다 하위 쿼리 등을 한 번에 조회 할 수 있습니다. 나는 좋은 생각이 아닌 다중 문장의 SQL 문장으로 그것을 수행 할 수 있도록 SQL에 매우 익숙하다. 너의 시간 동안 Thx.
어쩌면 다음과 같이 시작할 수 있습니다. http://stackoverflow.com/q/1323245/535275 –
MySQL은 재귀 쿼리를 지원하지 않습니다. PostgreSQL이나 Firebird (또는 상업용 데이터베이스)와 같은 재귀 쿼리를 지원하는 DBMS로 "업그레이드"하거나 데이터 모델을 변경하는 저장 프로 시저를 만들어야합니다 –
다음 답변을 확인하십시오 http : /stackoverflow.com/questions/5291054/hierarchical-sql-problem/5291159#5291159 –