开发者社区> 问答> 正文

如何将MSSQL CTE查询转换为MySQL??mysql

在我的MySQL模式中,我有category(id, parentid, 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?

展开
收起
保持可爱mmm 2020-05-17 12:22:57 633 0
1 条回答
写回答
取消 提交回答
  • 不幸的是,MySQL不支持CTE(公用表表达式)。IMO早就该这样做了。通常,您可以只使用子查询来代替,但是这种特定的CTE是递归的:它在查询中引用自身。递归CTE对于分层数据非常有用,但同样:MySql根本不支持它们。您必须实现一个存储过程才能获得相同的结果。来源:stack overflow

    2020-05-17 12:23:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像