В моей базе данных у меня есть таблица домов. Каждый дом имеет идентификатор улицы и расстояние в метрах от начала улицы.
Я хочу найти все пары домов на одной улице, которые находятся на расстоянии менее, например, например. 20 метров друг от друга.
Это образец таблицы с именем HOUSES
house_id street_id distance_from_beginning
1 100 5
2 100 10
3 100 15
4 200 5
5 200 20
6 200 10
Я ищу оператор SQL, который выглядит как
SELECT
h1.house_id,
h2.house_id,
abs(h1.distance_from_beginning - h2.distance_from_beginning) distance
from HOUSES h1, h2
where h1.street_id=h2.street_id and distance < 20
Возможно ли это? Какой будет правильный синтаксис для базы данных Postgresql?