무한대의 하위 그룹을 가질 수있는 앱에 대한 그룹 간의 관계를 순수하게 유지하는 테이블이 있습니다.MySQL에서 가장 재귀를 재귀 적으로 선택
CREATE TABLE `shop_groups_group_rel` (
`id_group` int(11) NOT NULL,
`id_parent` int(11) NOT NULL,
`type` enum('shop','group') NOT NULL
);
"shop"유형은 기본적으로 그 최상위를 의미합니다.
이제 내가 분석 할 수있는 모든 그룹에 대해 가장 많은 그룹을 얻을 수 있어야합니다. MySQL의 LOOP 구문을 살펴 봤지만 데이터베이스에서 실제 쿼리와 혼합하는 방법을 알 수는 없습니다 .
내가 맨 위 그룹에 올 때까지 반복적으로 상위 그룹을 선택할 수있는 방법에 대한 힌트를 누군가가 줄 수 있습니까?
무한한 양의 하위 그룹이있을 수 있으므로이 작업을 수행하는 것이 위험 할 수 있음을 알고 있지만 실제로는 2 ~ 3 개 이상의 하위 그룹이 될 수 없으며 쉽게이 작업에 엄격한 제한을 적용 할 수 있습니다.
감사합니다.
감사합니다. 롭, 실제로 할 수있는 일입니다. 고려하지 않았습니다. 그래도 LOOP에서이 작업을 수행 할 수 있는지 알고 싶습니다. 그러나 지금 당신의 솔루션은 트릭을 할 것이며, 3/4 이하의 하위 그룹이 있어서는 안됩니다. – Naatan
MySQL에서는 재귀 쿼리 (PostgreSQL 또는 Firebird와 달리)를 지원하지 않으므로 저장 프로 시저에서만 "루프"를 수행 할 수 있습니다. –