2015-03-12 2 views
-1

У меня есть таблица, содержащая много людей и их полная информация. Если у определенного человека есть отношение к другому, то в его записи будет идентификатор другого человека под ячейкой, называемой отношением (человек может относиться только к одному другому лицу)Вложенный запрос MySQL в ту же таблицу

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

select * 
from people 
where sex='M' AND city='California' 

это приведет со списком людей, которых я хочу, чтобы проверить, кто связан с ними теперь я хотел бы обновить этот запрос, чтобы показать под каждым результатом людей, которые имеют идентификатор человека на «relation_to поле.

Как это сделать?

+0

Вы имели в виду, что вам нужен запрос для отображения иерархии/иерархии? – Avidan

+0

Да, только один из результатов основного запроса. не рекурсивный .. –

+0

Можете ли вы привести пример с фиктивными данными? –

ответ

0

Проверьте, не работает ли он для вас. и, пожалуйста, дайте мне знать о результатах.

SELECT * FROM people 
Inner JOIN people as p 
ON people.relation_to = p.id 
where sex='M' AND city='California'; 
0

Если я правильно понимаю, вы хотите ПРИСОЕДИНИТЬСЯ к таблице. Это разрешено и легко выполняется с использованием псевдонимов.

SELECT * FROM people 
JOIN people as relation ON people.relation_to = relation.id 
where sex='M' AND city='California'; 
+0

Я не думаю, что это значит OP! –

+0

Спасибо, вот что мне нужно :) –

Смежные вопросы