Jawapan
menggunakan pembolehubah dalaman, ID jalan, atau diri sendiri:
WITH RECURSIVE cte (id, name, parent_id) AS ( SELECT id, name, parent_id FROM products WHERE parent_id = 19 UNION ALL SELECT p.id, p.name, p.parent_id FROM products p INNER JOIN cte ON p.parent_id = cte.id ) SELECT * FROM cte;
<联> Pembolehubah Neilian:
<径> Pengenalpastian gaya laluan:
Nilai ID memperuntukkan maklumat hierarki (PATH):
SELECT id, name, parent_id FROM (SELECT * FROM products ORDER BY parent_id, id) products_sorted, (SELECT @pv := '19') initialisation WHERE FIND_IN_SET(parent_id, @pv) AND LENGTH(@pv := CONCAT(@pv, ',', id))
Atas ialah kandungan terperinci Bagaimana untuk Dapatkan Semua ID Kanak-kanak dalam Struktur Hierarki MySQL Menggunakan Pertanyaan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!