MySQL: отношение родитель / потомок и UNION с псевдонимом - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть пользовательская таблица с родительскими / дочерними отношениями.

+---------+-----------+
| user_id | parent_id |
+---------+-----------+
|    0    |    NULL   |
|    1    |    NULL   |
|    2    |      1    |
|    3    |      0    |
|    4    |      1    |
|    5    |    NULL   |
+---------+-----------+

Мне бы хотелось, с уникальным запросом

  • Получить идентификатор родителя и всех других дочерних идентификаторов child
  • Получить все дочерние идентификаторы родителя

Я пробовал это, возможно, не самый лучший метод, но псевдоним не работает в UNION SELECT

SELECT 'parent', parent_id as pid FROM table WHERE user_id=1
UNION
SELECT 'child', user_id FROM table WHERE parent_id=pid
UNION
SELECT 'child', user_id as cid FROM table WHERE parent_id=1
...