다양한 수준의 계층적 하위 폴더를 검색하는 재귀 MySQL 쿼리
중첩 폴더 또는 트리형 관계와 같은 계층적 데이터 구조를 관리하는 경우 , 모든 자녀와 잠재적인 후손을 찾는 것이 어려울 수 있습니다. 이 기사에서는 계층적 'Folder' 테이블을 재귀적으로 탐색하여 이러한 요구를 효과적으로 해결하는 MySQL 쿼리를 제시합니다.
이 예에 사용된 'Folder' 테이블에는 'idFolder', 'FolderName' 및 ' idFolderParent'는 부모-자식 관계를 나타냅니다. 목표는 단일 쿼리로 특정 'idFolder'에 대해 하위 폴더를 포함한 모든 하위 폴더를 가져오는 것입니다.
이전 솔루션이 직면한 과제 중 하나는 상위 폴더가 특정 폴더에 저장되지 않은 경우를 처리하는 것이었습니다. 데이터베이스에서 주문하세요. 이를 극복하기 위해 GROUP_CONCAT() 함수와 사용자 정의 변수를 사용하는 쿼리를 제안합니다.
쿼리:
SELECT GROUP_CONCAT(lv SEPARATOR ',') FROM ( SELECT @pv:=(SELECT GROUP_CONCAT(idFolder SEPARATOR ',') FROM Folder WHERE FIND_IN_SET(idFolderParent, @pv)) AS lv FROM Folder JOIN (SELECT @pv:=5) tmp ) a;
이 쿼리는 다음과 같이 작동합니다.
이 접근 방식을 사용하면 모든 하위 폴더와 하위 폴더가 하위 폴더는 계층 구조에서의 위치에 관계없이 검색되어 지정된 'idFolder' 값에 대한 포괄적인 목록을 제공합니다.
위 내용은 다양한 수준으로 MySQL에서 계층적 하위 폴더를 재귀적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!