Добрый вечер. Есть бд с новостями, у каждой новости хранится id категории. Нужно исходя из этого id получить название категории и по возможности всех родителей (или хотя бы одного). Категории в базе хранятся по принципу nested sets.
В итоге должна получится выборка
id title category parent [... parentN]
Для правильного вопроса надо знать половину ответа
Если количество родителей непостоянно, то в одну строку не получится. Для nested set выбор всей ветки узла по id узла:
SELECT @left_key := `left_key`, @right_key := `right_key`
FROM `tree`
WHERE `id` = $id;
SELECT *
FROM `tree`
WHERE `left_key` <= @left_key AND `right_key` >= @right_key
ORDER BY `left_key`;