首頁 > 資料庫 > mysql教程 > 如何使用單一遞歸查詢來尋找 MySQL 表中的所有父條目?

如何使用單一遞歸查詢來尋找 MySQL 表中的所有父條目?

DDD
發布: 2024-11-30 19:23:15
原創
201 人瀏覽過

How to Find All Parent Entries in a MySQL Table Using a Single Recursive Query?

使用單一查詢(遞迴查詢)找出MySQL 表中的所有父項

諸如選單或類別之類的表通常具有層次結構,其中條目透過親子關係相互關聯。在這種情況下,檢索特定條目的所有父項可能會成為一項挑戰,尤其是在嘗試使用單一查詢執行此操作時。

考慮以下包含選單項目的架構:

目標是使用單一查詢來尋找 ID 為 31(類別)的項目的所有父項。為了實現這一點,我們可以採用遞歸查詢:

此查詢使用公共表表達式(CTE)來迭代檢索條目的父項。 vars 子查詢初始化變數@r 和@l,它們分別表示目前條目的ID 和遞歸等級。主子查詢 T1 然後使用遞歸查詢來尋找目前條目的父級,同時遞增層級。

最後,T1 CTE 與選單表 T2 連接,以檢索每個條目的詳細資訊父項。 ORDER BY T1.lvl DESC 子句會依等級降序對結果排序,確保先顯示最接近的父級。

使用此遞歸查詢,我們可以得到以下所需的輸出:

以上是如何使用單一遞歸查詢來尋找 MySQL 表中的所有父條目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板