ユーザーのテーブル名があります。
次のフィールドが含まれます。
user_id | parent_user_id | name
私のuser_idが5であると考えてください。parent_user_idが5で、その子供と子供の子供などを持つユーザーを取得したい
特定の親IDのすべての子供を取得するには?
再帰的に行うことはできません。s で実行でき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 が示唆したように、 NoSQLなどの他の代替手段を検討することもできます。
そのようなことを試してください。
SELECT user_id FROM users WHERE parent_user_id = "5" GROUP BY user_id
これにより、親IDのすべての子が5になります