2016-10-19 3 views
-1

oracle продолжает отказываться от чего-либо, что я пытаюсь назвать долготу в предложении with.определение переменной, недопустимый идентификатор. Euclidean Distance

WITH params as (
     SELECT -28 as lat, 151 as lon 
     FROM dual 
    ) 
SELECT sighting_id 
FROM sightings 
ORDER BY sqrt(power(lat - latitude, 2) + power(lon - longitude, 2)); 
+0

показать нам вашу схему db. Пожалуйста, прочитайте [** How-to-Ask **] (http://stackoverflow.com/help/how-to-ask) \t \t И вот отличное место для [** START **] (http : //spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/), чтобы узнать, как улучшить качество вопроса и получить лучшие ответы. –

ответ

2

Вы определяете params в WITH, но никогда не ссылаетесь на него в FROM.

WITH params as (
     SELECT -28 as lat, 151 as lon 
     FROM dual 
    ) 
SELECT sighting_id 
FROM sightings CROSS JOIN params 
ORDER BY sqrt(power(lat - latitude, 2) + power(lon - longitude, 2)); 
Смежные вопросы