我有一个名为foo的db表。它具有以下字段:嵌套/递归MySQL查询
- ID
- 名
- parentId的
可降至3级深,像这样:
- 美孚1(parentId的:0)
- Foo 2(parentId:1)(foo的孩子1)
- 美孚3(parentId的:2)(两者foo1和foo2的的孩子)
- Foo 2(parentId:1)(foo的孩子1)
现在的问题是,在我的用户表,有一个叫做场fooId
。我想获得属于顶级foo的所有用户。例如,如果用户的fooId是3,并且我想要获得与fooId 1相关的所有用户(来自上述示例),那么应该将该用户计入结果中。
如果这只是两层深,我可以做这样的事情:
`SELECT stuff FROM users, foo WHERE foo.parentId = '1' AND user.fooId = foo.id
但我怎么能做到这一点在目前的情况?
下面也许能派上用场http://stackoverflow.com/questions/5291054/hierarchical-sql-problem/5291159#5291 159 –