У меня есть две таблицы с именами my_nodes
и restaurants
, которые содержат имя и geoloc
данные.Мне нужно получить таблицу, которая для каждого my_node возвращает ближайший ресторан и расстояние от узла до ресторана.
select n.node_id, r.r_name , sdo_nn_distance(1) as min_distance from
(select nodeid as node_id, geoloc from my_nodes@my_server ) n,
(select r_name, GEOLOC from restaurants) r
where sdo_nn (n.geoloc, r.GEOLOC, 'Unit = MILE sdo_num_res = 1', 1) = 'TRUE'
Запрос выше возвращает:
ORA-13249: SDO_NN cannot be evaluated without using index
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 17
ORA-06512: at "MDSYS.PRVT_IDX", line 9
Как это исправить?