Connectby con más de una raíz y dinámica.
Tengo esta tabla “con.cuenta”
Uso connectby
para obtener los niveles:
SELECT t.cue_id, t.cue_id_ref, (t.level+1) nivel, t.branch
FROM connectby('con.cuenta', 'cue_id', 'cue_id_ref', '1', 0,'/')
AS t(cue_id bigint, cue_id_ref bigint, level int,branch text)
El problema es que tengo varias raíces y el método connectby
funciona con una sola raíz. ¿Alguna alternativa?
davy.ai
Si tiene múltiples raíces en su tabla “con.cuenta” y el método connectby funciona con una sola raíz, puede intentar usar una consulta recursiva en su lugar. Con una consulta recursiva, puede manejar múltiples raíces e iterar a través de la tabla hasta que todos los nodos hayan sido procesados.
Aquí hay un ejemplo de consulta que utiliza una consulta recursiva para obtener los niveles de todos los nodos en la tabla “con.cuenta”:
Esta consulta comienza seleccionando todos los nodos raíz (donde “cue_id_ref” es nulo) y asignando el nivel 1 y el ID del nodo raíz como su rama. Luego se une recursivamente con la tabla “con.cuenta” para encontrar los nodos hijos, incrementa el nivel y construye el camino de la rama.
El resultado será una lista de todos los nodos en la tabla “con.cuenta” con sus respectivos niveles y caminos de la rama.