Mysql
 sql >> база данни >  >> RDS >> Mysql

Намиране на всички родители в таблицата на mysql с единична заявка (рекурсивна заявка)

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;

Демо




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете последния ред за даден идентификатор

  2. Как да свържете параметри към необработена DB заявка в Laravel, която се използва в модел?

  3. Как работи функцията UPPER() в MySQL

  4. SQL Inner Join – Как да се присъедините към 3 таблици в SQL и MySQL

  5. Бягство на MySQL заместващи карти