У меня есть таблица SQL примерно так:
Обновление: я изменяю таблицу примеров, поскольку существующая иерархическая природа исходных данных (Штат, Города, Школы) затмевает тот факт, что между элементами необходимы простые отношения.
entities
id name
1 Apple
2 Orange
3 Banana
4 Carrot
5 Mushroom
Я хочу определить двусторонние отношения между этими объектами, чтобы пользователь, просматривающий один объект, мог видеть список всех связанных объектов.
Отношения определяются конечным пользователем.
Каков наилучший способ представить эти отношения в базе данных, а затем запросить и обновить их?
Один путь, каким я его вижу ...
Мой инстинкт говорит, что таблица отношений выглядит так:
entity_entity
entity_id_a entity_id_b
1 2
5 1
4 1
5 4
1 3
В таком случае, учитывая предоставленный entity_id, равный 4, как можно получить все связанные записи, которые будут 1 и 5?
Аналогично, запрос entity_id = 1 должен возвращать 2, 3, 4 и 5.
Спасибо за ваше время и дайте мне знать, если я вообще смогу уточнить вопрос.