將MSSQL CTE 查詢轉換為MySQL
MSSQL 中有一個複雜的CTE 查詢,它為給定的資料從下到上建構類別樹類別ID。您想知道如何將此查詢轉換為不支援 CTE 的 MySQL。
MySQL 的限制
不幸的是,MySQL 不支援通用表表達式 (CTE) )。這意味著您無法直接將 CTE 查詢轉換為 MySQL。
遞歸預存程序
由於 CTE 允許遞迴查詢,因此您需要在MySQL 也達到相同的結果。遞歸預存程序可以在自己的執行中引用自身,從而允許分層資料處理。
上一個範例
先前回答的問題為實作遞歸提供了一個很好的起點MySQL 中的預存程序:
此答案示範如何建立一個產生深度的預存程序-使用遞迴查詢從分層資料產生基於樹的數據。您可以根據您的特定 CTE 查詢調整此方法。
實作
預存程序的具體實作將取決於類別表的結構和所需的輸出。但是,一般步驟是:
按照以下步驟,您可以在MySQL中實作一個預存程序,執行與 MSSQL CTE 查詢類似的功能,並提供一種以遞歸方式處理分層資料的方法。
以上是如何在不使用 CTE 的情況下將 MSSQL CTE 查詢轉換為 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!