Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tìm tất cả cha mẹ trong bảng mysql với một truy vấn duy nhất (Truy vấn đệ quy)

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Danh sách các chỉ định định dạng ngày trong MySQL

  2. Tách một chuỗi và lặp qua các giá trị trong Thủ tục MySql

  3. Làm cách nào để đặt ORDER BY params sử dụng câu lệnh PDO đã chuẩn bị sẵn?

  4. id chèn cuối cùng mysqli

  5. Làm thế nào để chuyển đổi một chuỗi thành hệ thập lục phân trong MySQL - HEX ()