Я работаю с авиакомпаниями, аэропортами и их маршрутами.
У меня есть две таблицы маршрутов и дополнения.
Таблица дополнения была построена путем поиска сегментов маршрута, которые разделяют узел. (B является узлом на маршруте A-> B-> C)
Я хочу построить таблицу дополнений, чтобы назначение, достигнутое через узел, было уникальным. Другими словами, авиакомпания не должна быть в состоянии самостоятельно достичь пункта назначения C.
После построения таблицы дополнений я попытался:
SELECT t1.*
FROM complement AS t1
, routes AS t2
WHERE t1.airline_id1 = t2.airline_id
AND t1.source = t2.source
AND t1.destination != t2.destination
* авиакомпания_ид1 относится к первой авиакомпании, которая обслуживает маршрут А до Б. (по маршруту А-> В-> С)
В исходной таблице было около 650 000 записей, но по этому запросу я получаю более 10 миллионов записей. Я уверен, что я делаю что-то не так с этим.
Любая помощь будет принята с благодарностью!
РЕДАКТИРОВАТЬ: некоторые поля в таблице дополнения являются авиакомпания_ид1, авиакомпания_ид2, источник_порт, узел, пункт назначения_порт