sql >> Base de Datos >  >> RDS >> Mysql

comprobando el valor en el árbol de n profundidad?

Si los conjuntos anidados no son una opción, sé lo siguiente:

  • Si los datos están ordenados de modo que los hijos de un padre siempre sigan a su padre, puede resolver esto con una consulta de base de datos sobre todos los datos saltando los nodos ocultos en la salida.

Esto también funciona con un conjunto anidado ordenado, el principio se ha descrito en esta respuesta sin embargo, los algoritmos para obtener la profundidad no funcionan y sugeriría un iterador recursivo que es capaz de eliminar elementos ocultos.

Además, si los datos no están ordenados, puede crear una estructura de árbol a partir de la consulta (sin clasificar) de todas las filas como se describe en la respuesta a matriz anidada. El tercer nivel está desapareciendo . No se necesita recursión y obtienes una estructura que puedes generar fácilmente, debería haber cubierto eso para <ul>/<li> salida de estilo html en otra respuesta también.