我有users_entities表,它包含用户,他们的实体及其依赖实体。像这样。
|user | entity | dependant entity|
----------------------------------
| 122 | 746414 | null |
| 122 | 746410 | 746414 |
| 122 | 746405 | 746414 |
| 333 | 746403 | 746405 |
所以,用
select entity from users_entities where user = 122
我得到:706414,706410和746405。
122负责的所有实体,但我还必须显示依赖这些实体的所有实体。所以,我还必须显示746403因为它取决于746405。
它是一个树形结构
74614
|
746405
|
746403
我想我必须做一个递归选择,但我无法完成它。可以用一个选择完成吗?或者我必须做一个函数或存储过程?感谢。
修改的 哦,我忘了。他们可以是多层次的家属。
答案 0 :(得分:0)
你必须自我加入。但是你需要知道最大级别数。如果最大值是5,那么你可以写一个5向自连接。当您使用外连接谓词时,它应该能够处理少于该数量级别的任何内容。 像这样的东西(我没有测试查询,但你会得到这个想法;最多只能完成3个级别,但你可以扩展它):
{{1}}