我有一个用户名表。
它包含以下字段。
user_id | parent_user_id | name
考虑我的user_id是5,我希望得到拥有parent_user_id 5的用户及其子女和孩子等等的用户
如何获得特定父母身份的所有孩子?
答案 0 :(得分:0)
你不能递归地做。您可以使用LEFT JOIN
执行此操作,但必须选择最大深度。
SELECT * FROM users u1
LEFT JOIN users u2 ON u1.user_id = u2.parent_user_id
LEFT JOIN users u3 ON u2.user_id = u3.parent_user_id
WHERE u1.user_id = [SOME_USER_ID]
但作为Mike Brant suggested ,您可以考虑其他替代方案,例如NoSQL。
答案 1 :(得分:0)
尝试类似的东西。
SELECT user_id FROM users WHERE parent_user_id = "5" GROUP BY user_id
这将使父ID的所有孩子都为5