Mysql Выборка из иерархической структуры

  • Автор темы Автор темы Mach
  • Дата начала Дата начала

Mach

Новичок
Доброго времени! Имеются две таблицы: таблица с объектами, в которой объекты привязаны по id к городам. Структура такая:
id - идентификатор
city - идентификатор города
name - название
И иерархическая таблица с локациями - страна, регион, город с такой структурой:
id - идентификатор
parent - идентификатор родителя
name - название
Понятно, что выбрать объекты по городу проблем не составит. Проблема в том, что нужно выбрать все объекты в регионе или стране. Какой выборкой это можно осуществить?
Спасибо!
 
сделать запрос по обьектам
PHP:
where city in ( все индификаторы городов для заданной локации )
 
Так ведь чтоб получить идентификаторы городов, нужно получить идентификатор локации. А объект привязан к городу. Т.е. придется городить еще запросы. Нельзя ли в одном запросе к таблице объекта сделать JOIN так, чтоб подсосать всю иерархию локаций?
 
если известен максимальный уровень вложенности, можно наджойнить таблицу саму на себя N раз, но будет страшно. Это если mysql. В более продвинутых РСУБД есть рекурсивные запросы.
 
А можно пример такого джойна? Для указанной структуры. Уровень пусть будет 3.
 
Сверху