将 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中文网其他相关文章!