Помогите с проблемой объединения запросов

Serguitar

Новичок->продвинутый
Помогите с проблемой объединения запросов

Привет всем!
Переработал я по ходу, не врубаюсь.
Короче, помогите объединить два запроса в один.
1. Выбираем из таблицы id тех значений, которые совпадают по полю name с определённым значением.
2.В этой же таблице выбираем значения name_p, сравнивая поле parent c полученныv первым запросом id.
 

ForJest

- свежая кровь
/me помог Serguitar объединить два запроса.
Ты задавай, задавай вопросы - не стесняйся...
 

Serguitar

Новичок->продвинутый
ForJest
А ты не обезьяничай. Слышь? Не можешь помочь - не лезь.
 

ForJest

- свежая кровь
Serguitar
Дело в том, что я как раз могу помочь тебе. Но для этого мне нужно знать в чём затруднение.
Конкретно.
 

Serguitar

Новичок->продвинутый
Хорошо.
Select id from table1 where name=$name

Select name_p from table1 where parent=$id

Не врубаюсь как сделать один запрос, чтобы возращал name_p
 

robocomp

Новичок
Serguitar
А ты действительно проблему описывай нормально, да. В 10-м классе, конечно, так всё и описывают. Но мы-то уже забыли -)

Итак, насколько я понимаю, коллега, у вас есть таблица типа:
t (id, parent_id, name)
parent_id --> id (верно? Кстати, имя "id" -- это плохое имя. Хорошее имя -- t_id)
выбирать надо так
select t2.name from t t1 inner join t t2 on t2.parent_id = t1.id
where t1.name = 'SlavaianChimpion'

Если я понял правильно, надо было именно это написать
 

robocomp

Новичок
http://dev.mysql.com/doc/mysql/en/select.html


изучать тут вдумчиво

Особливо отдавать предпочтение вот этому тексту

The FROM table_references clause indicates the tables from which to retrieve rows. If you name more than one table, you are performing a join. For information on join syntax, see Section 13.1.7.1, “JOIN Syntax”. For each table specified, you can optionally specify an alias.

tbl_name [[AS] alias]
[[USE INDEX (key_list)]
| [IGNORE INDEX (key_list)]
| [FORCE INDEX (key_list)]]
 
Сверху