Amiddio
Новичок
Вопрос по LEFT JOIN...
Есть простая таблица:
CREATE TABLE `tree` (
`id` int(11) NOT NULL auto_increment,
`parent` int(11) NOT NULL default '0',
`text` text NOT NULL,
PRIMARY KEY (`id`)
)
В parent храниться id родителя. У корневой записи parent = 0 и т.д.
Формирую запрос в цикле и вывожу потомков какой-нибуть записи.
Запрос получается такой (я его формирую в цикле в зависимости от уровней вложености):
SELECT
t0000.id as `0.id`, t0000.parent as `0.parent`, t0000.text as `0.text`,
t0001.id as `1.id`, t0001.parent as `1.parent`, t0001.text as `1.text`,
...
FROM
tree t0000
LEFT JOIN tree t0001 ON (t0000.id=t0001.parent)
LEFT JOIN tree t0002 ON (t0001.id=t0002.parent)
...
WHERE t0000.id=1
Вопрос: как сформировать (переделать) запрос, который будет выводить не потомков а предков?
Есть простая таблица:
CREATE TABLE `tree` (
`id` int(11) NOT NULL auto_increment,
`parent` int(11) NOT NULL default '0',
`text` text NOT NULL,
PRIMARY KEY (`id`)
)
В parent храниться id родителя. У корневой записи parent = 0 и т.д.
Формирую запрос в цикле и вывожу потомков какой-нибуть записи.
Запрос получается такой (я его формирую в цикле в зависимости от уровней вложености):
SELECT
t0000.id as `0.id`, t0000.parent as `0.parent`, t0000.text as `0.text`,
t0001.id as `1.id`, t0001.parent as `1.parent`, t0001.text as `1.text`,
...
FROM
tree t0000
LEFT JOIN tree t0001 ON (t0000.id=t0001.parent)
LEFT JOIN tree t0002 ON (t0001.id=t0002.parent)
...
WHERE t0000.id=1
Вопрос: как сформировать (переделать) запрос, который будет выводить не потомков а предков?