Я использую MySQL и у меня следующий сценарий:
Table nodes: node_id, lat, lng, name
Table links: node1, node2, name
Таким образом, есть две таблицы: в узлах таблиц хранятся все точки и соответствующие им широта и долгота, а также в ссылке на таблицу, где хранится узел 1, который ссылается на узлы, и узел 2, который также ссылается на узлы.
Поскольку в MySQL и Rails у нас не может быть двух внешних ключей, указывающих на одну и ту же таблицу (поправьте меня, если я ошибаюсь), и, например, если я хочу найти начальное имя_узла и конечное имя_узла, как бы я сконструировал свой Оператор SQL? Я пытался
SELECT nodes.name from Nodes, links WHERE nodes.node_id = node1
что вроде работает, но очень медленно (у меня в каждой таблице меньше 10 тыс. Записей), и если я хочу найти оба имени для начального и конечного узлов, как я могу перейти и сделать это? Или если я хочу ограничить начальный узел lat> x и конечный узел lat
Спасибо.
С уважением,
Энди.