MySQL MLM запрос нижестоящего выбора для самого первого пользователя - PullRequest
0 голосов
/ 01 апреля 2019

Я выполняю запрос на выборку, чтобы получить нижестоящих участников.Работает хорошо для всех пользователей, кроме первого.

Вот моя sql скрипка с данными http://sqlfiddle.com/#!9/036c5e/2

Я хочу получить нижестоящих членов для user_id 1

Я выполняю запрос, подобный этому

SELECT 
            t1.user_id AS lev0, 
            t2.user_id as lev1, 
            t3.user_id as lev2, 
            t4.user_id as lev3,
            t5.user_id as lev4,
            t6.user_id as lev5,
            t7.user_id as lev6,
            t8.user_id as lev7,
            t9.user_id as lev8

        FROM members AS t1

            LEFT JOIN members AS t2 ON t2.boss = t1.user_id
            LEFT JOIN members AS t3 ON t3.boss = t2.user_id
            LEFT JOIN members AS t4 ON t4.boss = t3.user_id
            LEFT JOIN members AS t5 ON t5.boss = t4.user_id
            LEFT JOIN members AS t6 ON t6.boss = t5.user_id
            LEFT JOIN members AS t7 ON t7.boss = t6.user_id
            LEFT JOIN members AS t8 ON t8.boss = t7.user_id
            LEFT JOIN members AS t9 ON t9.boss = t8.user_id
            WHERE t1.user_id = 1
            order by t1.created_at

Если я заменю t1.user_id =2 или любые другие, это работает хорошо.Кто-нибудь, пожалуйста, помогите.Спасибо ..

РЕДАКТИРОВАТЬ Я хочу получить user_id для босса 1. босс 1 - стартер.Так что я хочу получить всех своих нижестоящих участников.Как я могу это сделать?Большое спасибо.

1 Ответ

1 голос
/ 01 апреля 2019

Изменить

WHERE t1.user_id = 1

На

WHERE t1.boss = 1
...