Есть табличка
| id | email | partner_id |
partner_id -> это связь с записью из этой-же таблицы
Задача, узнать всех нижестоящих "партнеров", при этом получить уровень глубины, на котором они находятся.
MySql Не поддерживает WITH, Как переписать запрос под MYSQL?
WITH list AS
(SELECT upper.id, upper.email, upper.partner_id,
1 AS level
FROM users AS upper
WHERE upper.partner_id IS NULL
UNION ALL
SELECT lower.id, lower.email lower.partner_id,
el.level + 1
FROM users AS lower
INNER JOIN list AS el
ON lower.partner_id = el.id
WHERE lower.partner_id IS NOT NULL)
SELECT *
FROM list;