sql >> Database >  >> RDS >> Oracle

SQL SELECT om cyclische verwijzingen te vinden in de vader-ID-georganiseerde boom?

SELECT  n.*, CONNECT_BY_ROOT(id), level
FROM    elements n
START WITH
        id IN
        (
        SELECT  MIN(id)
        FROM    (
                SELECT  id, CONNECT_BY_ROOT(id) AS root
                FROM    elements
                START WITH
                        id IN
                        (
                        SELECT  id
                        FROM    elements n
                        WHERE   CONNECT_BY_ISCYCLE = 1
                        CONNECT BY NOCYCLE
                                father_id = PRIOR id
                        )
                CONNECT BY NOCYCLE
                        id = PRIOR father_id
                )
        GROUP BY
                root
        )
CONNECT BY NOCYCLE
        id = PRIOR father_id

Misschien wil je dit artikel lezen:




  1. Hoe java.sql.SQLException te overwinnen:uitzondering voor te veel verbindingen?

  2. Kan geen Chinees karakter invoegen in MySQL

  3. Hoe een volledige externe join te doen in MySQL

  4. Hoe gegevens uit de database te halen om de pagina in laravel te bekijken?