Я пытаюсь написать запрос PostGIS для ближайшего соседа, в котором выбран набор координат и определено расстояние от ближайшего полигона затопления. Затем я хочу классифицировать расстояние как «ВНЕШНЕЕ», «ЗАКРЫТЬ» ИЛИ «ВНУТРИ»:
WITH
point_loc (geom) AS (
SELECT ST_SetSRID(ST_MakePoint(531673.0, 180848.2),27700) ),
distances (gid, distance) AS (
SELECT
fl.gid,
ST_Distance(fl.geom, p.geom) AS distance
FROM
point_loc p, flooding fl
WHERE ST_DWithin(p.geom, fl.geom, 400)
SELECT
gid,
CASE WHEN distance > 300 THEN 'OUTSIDE'
WHEN distance > 50 AND <= 300 THEN 'CLOSE'
ELSE 'INSIDE'
END as flood_result
FROM distances;
Я получаю синтаксическую ошибку при последнем вызове SELECT. Кто-нибудь может увидеть, что я делаю не так?