Возможно ли написать такой SQL запрос, в котором значение из одной записи таблицы зависит от другой (одной или нескольких) записи той же самой таблицы? Используется только одна таблица.
Пример задачи:
Рассмотрим таблицу, в которой хранятся расстояния до определенных объектов от некоторой точки. Т.е., допустим, расстояния от дома до садика, школы, магазина и т.д, только которые, условно говоря, находятся на одной прямой. Т.е. координата определяется одним числом.
В таблице содержится 2 столбца. Первый столбец id (id объекта, садика, магазина...), второй distance (расстояние от дома до данного объекта).
Необходимо получить набор расстояний между самими объектами, причем расстояния между объектами должны соблюдать определенную зависимость(эту зависимость задает сам пользователь) между собой. Т.е., к примеру, необходимо найти такие пути между объектами, где расстояние от объекта_1 до объекта_2 должно быть в 2 раза больше, чем расстояние от объекта_2 до объекта_3.
Исходные данные:
Вот что должно получится:
В данных результатах комбинации id выбраны не все, но суть думаю ясна.
Путь может составляться от 1 до нескольких сотен расстояний, где они друг от друга определенным образом зависят. Т.е. объект_1 может зависеть от объекта_43, а объект_43 от объекта_24 и объекта_78 и т.д. У некоторых расстояний может быть задана фиксированная величина без зависимостей. Объектов в таблице (записей) может быть от 100.000 до нескольких десятков миллионов.
Подскажите пожалуйста, как решить эту задачу запросами в Mysql (необязательно mysql), и вообще возможно ли? Или возможно это сделать какими-либо определенными СУБД? Если да, то какими? Если средствами базы это сделать невозможно, то какие подскажете математические методы решения данной задачи? Решить это можно конечно, написав программу, но она будет очень ресурсоемкая и "долгоиграющая", т.к., на самом деле, задача у меня не совсем такая. Я ее упростил, чтобы была яснее суть.