Ich versuche Ergebnis der Funktionsausführung in where
Klausel zu verwenden, aber ohne Erfolg:Mit der Funktion Ergebnis in WHERE-Klausel in PostgreSQL
SELECT clinics.*, distance_between_objects(1, id, 7, 3) AS dist FROM clinics WHERE dist<=1;
gibt mir: Column "dist" does not exists
. Zitiert es mag:
SELECT clinics.*, distance_between_objects(1, id, 7, 3) AS dist FROM clinics WHERE "dist"<=1;
hilft entweder nicht. Bitte beachten Sie, gibt es in Postgres die Möglichkeit, das Funktionsergebnis in der WHERE-Klausel zu verwenden, ohne es zweimal aufzurufen? Danke!
WHERE kann keine Werte verwenden, die auf der gleichen Ebene von select berechnet wurden, da sie ausgewertet werden, bevor Sie Werte erhalten. Auf der anderen Seite ORDER BY kann, weil es ausgewertet wird, nachdem alle Werte ausgewählt sind. Aber kapseln Sie Funktion in Subselect in FROM-Klausel und es wird funktionieren. – JosMac