首頁 > 資料庫 > mysql教程 > 如何複製遞歸 MSSQL CTE 查詢以在 MySQL 中建立類別樹?

如何複製遞歸 MSSQL CTE 查詢以在 MySQL 中建立類別樹?

Mary-Kate Olsen
發布: 2024-12-01 08:54:13
原創
716 人瀏覽過

How Can I Replicate a Recursive MSSQL CTE Query for Building a Category Tree in MySQL?

將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中文網其他相關文章!

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