Выбору с вложеностью в SQL

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 14 февраля 2017 в 18:36
Доброго времени суток!
Ковыряюсь, да ничего не выходит… джоинить видимо не мое)
Имеем таблицу вида:
| id | name | parent |
------------------------------------
| 1 | вася | 0 |
| 2 | петя | 1 |
| 3 | степа | 0 |
| 4 | игорь | 1 |
| 5 | кеша | 2 |

Как бы реферальная система, петя с игорем рефералы васи, а кеша реферал пети и реферал 2 уровня васи.

Задача: как сделать выборку по васе? т.е. что бы получить:
| id | name | parent |
------------------------------------
| 1 | вася | 0 |
| 2 | петя | 1 |
| 4 | игорь | 1 |
| 5 | кеша | 2 |
Спасибо!
#2 14 февраля 2017 в 19:40
Jestik, то как ты привёл, просто order by parent получается, ну и исключить стёпу.
#3 14 февраля 2017 в 19:54
Jestik,
Вообще странное задание, но я думаю, что как-то так:

SELECT * FROM users WHERE id = 1 OR parent = 1 OR parent IN (SELECT id FROM users WHERE parent = 1) ORDER BY parent ASC

#4 14 февраля 2017 в 21:50
Всем спасибо, решил проблему по другому, а по другому потому что не правильное тз было)
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.