1

ユーザーのテーブル名があります。

次のフィールドが含まれます。

user_id  |  parent_user_id  | name

私のuser_idが5であると考えてください。parent_user_idが5で、その子供と子供の子供などを持つユーザーを取得したい

特定の親IDのすべての子供を取得するには?

4

2 に答える 2

0

再帰的に行うことはできません。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などの他の代替手段を検討することもできます。

于 2012-08-30T14:40:43.613 に答える
0

そのようなことを試してください。

    SELECT user_id FROM users WHERE parent_user_id = "5" GROUP BY user_id 

これにより、親IDのすべての子が5になります

于 2012-08-30T16:29:11.913 に答える