gpt4 book ai didi

mysql - 嵌套集过滤

转载 作者:行者123 更新时间:2023-11-29 02:07:15 25 4
gpt4 key购买 nike

我正在为我的菜单树使用嵌套集模型,并且我试图通过一些过滤来获取节点。我有几个根节点。示例:

Menu1(on)
\-Submenu1(on)
\-Submenu2(on)
Menu2(off)
\-Submenu3(on)
\-Submenu4(on)
\-Submenu5(on)
Menu3(on)

我想返回所有节点“打开”,但不返回父节点“关闭”的节点。对于上面的示例,查询应该只返回 Menu1(和子项)和 Menu3。

Menu1(on)
\-Submenu1(on)
\-Submenu2(on)
Menu2(on)
\-Submenu3(on)
\-Submenu4(off)
\-Submenu5(on)
Menu3(on)

对于此示例,查询应返回除 Submenu4 及其子项之外的所有内容。

有什么想法吗?

提前致谢。

最佳答案

SELECT t0.*
FROM sometable AS t0
LEFT JOIN sometable AS t1 ON t0.lft BETWEEN t1.lft AND t1.rgt AND t1.active='off'
WHERE t1.lft IS NULL
ORDER BY t0.lft

也就是说,选择没有包含目标行(或与目标行相同的行)的 off 行的每一行。

关于mysql - 嵌套集过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3841107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com