將MSSQL CTE 查詢轉換為MySQL
在具有'category' 表(包含id、parent id 和列)的MySQL 模式中name,您希望複製一個MSSQL CTE 查詢,該查詢會為指定的類別ID 自下而上建立類別樹。查詢如下:
with CTE (id, pid, name) as ( select id, parentid as pid,name from category where id = 197 union all select CTE.pid as id , category.parentid as pid, category.name from CTE inner join category on category.id = CTE.pid ) select * from CTE
不幸的是,MySQL 缺乏對 CTE 的支援。因此,使用子查詢代替它們可能不是一種選擇,因為所討論的 CTE 是遞歸的,在查詢中引用自身。 MySQL 不支援遞歸 CTE。
要實現類似的功能,必須實作預存程序。先前關於如何「從 MySQL 中的分層資料產生基於深度的樹(無 CTE)」的答案可以作為建立此類流程的起點。
以上是如何複製遞歸 MSSQL CTE 查詢以在 MySQL 中建立類別樹?的詳細內容。更多資訊請關注PHP中文網其他相關文章!