sql >> Databasteknik >  >> RDS >> Mysql

Hitta alla föräldrar i mysql-tabellen med en enda fråga (Rekursiv fråga)

SELECT T2.id, T2.title,T2.controller,T2.method,T2.url
FROM (
    SELECT
        @r AS _id,
        (SELECT @r := parent_id FROM menu WHERE id = _id) AS parent_id,
        @l := @l + 1 AS lvl
    FROM
        (SELECT @r := 31, @l := 0) vars,
        menu m
    WHERE @r <> 0) T1
JOIN menu T2
ON T1._id = T2.id
ORDER BY T1.lvl DESC;

Demo




  1. ange korrekt användarnamn och lösenord, hämta ORA-01017:ogiltigt användarnamn/lösenord; inloggning nekad

  2. Ändra materialiserad vyfråga

  3. MySQL LAST_INSERT_ID() används med flera poster INSERT-sats

  4. Vad är det bästa sättet att testa SQL Server-anslutning programmatiskt?