У меня есть таблица БД под названием foo. Он имеет следующие поля:
Он может опуститься на 3 уровня, например:
- Foo 1 (parentId: 0)
- Foo 2 (parentId: 1) (дочерний элемент foo 1)
- Foo 3 (parentId: 2) (дочерний элемент foo1 и foo2)
Теперь проблема в том, что в моей таблице пользователей есть поле с именем fooId
. Я хочу получить всех пользователей, принадлежащих к foo верхнего уровня.
Например, если fooId пользователя равен 3, и я хочу получить всех пользователей, связанных с fooId 1 (из приведенного выше примера), то этот пользователь должен учитываться в результатах.
Если бы это было всего два уровня, я мог бы сделать что-то вроде этого:
`SELECT stuff FROM users, foo WHERE foo.parentId = '1' AND user.fooId = foo.id
Но как я могу это сделать в нынешней ситуации?