Digamos que usted tiene la siguiente tabla:la obtención de datos de las tablas de jerarquía de autorreferencia
items(item_id, item_parent)
... y es una tabla de referencia a sí misma - item_parent
se refiere a item_id
.
Qué consulta SQL usaría para SELECCIONAR todos los elementos de la tabla junto con su profundidad, donde la profundidad de un elemento es la suma de todos los padres y abuelos de ese artículo.
Si el siguiente es el contenido de la tabla:
item_id item_parent
----------- -----------
1 0
2 0
3 2
4 2
5 3
... la consulta debe recuperar el siguiente conjunto de objetos:
{ "item_id": 1, "profundidad": 0 }
{ "item_id": 2, "profundidad": 0}
{ "item_id": 3, "profundidad": 1}
{ "item_id": 4, "profundidad": 1}
{" item_id ": 5," profundidad ": 2}
P.S. Estoy buscando un enfoque compatible con MySQL.
Buscar "Recursive CTE". – RBarryYoung
¿Qué base de datos y versión? Las consultas recursivas son específicas del proveedor, si se admiten. – RedFilter
@RBarryYoung: Eso supone que está usando MS SQL Server. –