我使用的是mysql和php,我有一个表,其中每个项目可以包含其他项目等等。。。
空白表
RowId | ItemId | ChildItemId
1 | 1 | NULL
2 | 2 | NULL
3 | 3 | 1
4 | 4 | 1
5 | 4 | 2
6 | 5 | 3
7 | 5 | 4
挑战:让所有的父母
我想要一个查询,从给定的childitemid获取任何层次结构级别的所有父/祖先。
预期结果
如果我提供childitemid=1
AllParents
3
4
5
对查询、循环、cte、php代码或任何解决方案有帮助吗?
1条答案
按热度按时间dwbf0jvd1#
在cte中,您可以通过使用递归调用生成所有路由表来获取所有父/祖先。以下查询在生成表后按targetitemid进行筛选。
您还可以预先按childitemid进行筛选。