@asdasdqwe

Как получить все родительские записи в базе?

Есть таблица categories
61b6050470891628782853.png
Дерево:
Information tecnology
----- Developer
--------- PHP developer
--------- Java developer

Например нужно получить все родительские записи для категорий PHP developer
select * from categories ...................... where categories.id = 3;
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
Начиная с MySQL 8.0 можно использовать RECURSIVE CTE
WITH RECURSIVE recursive_categories (name, parent_id) AS (
	SELECT name, parent_id FROM categories WHERE name = 'PHP developer'
  	UNION ALL
  	SELECT c.name, c.parent_id FROM categories c JOIN categories ON c.id = categories.parent_id 
) SELECT * FROM recursive_categories
ORDER BY parent_id ASC;


MySQL RECURSIVE CTE online
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы