Я новичок в SQL, поэтому вот запрос, который я пытаюсь выполнить
WITH fetched_row AS (SELECT * FROM sdmk_stereo_unfiltered_road_feature LIMIT 1)
UPDATE sdmk_stereo_unfiltered_road_feature
SET is_processed=true
FROM (SELECT * FROM sdmk_stereo_unfiltered_road_feature WHERE (st_dwithin(location_modeled, fetched_row.location_modeled, 20, TRUE) AND
sign_type=fetched_row.sign_type AND
ts!=fetched_row.ts) ) as candidate_signs
WHERE candidate_signs.id = sdmk_stereo_unfiltered_road_feature.id;
Я также пытался
WITH fetched_row AS (SELECT * FROM sdmk_stereo_unfiltered_road_feature WHERE (is_processed=false OR is_processed=NULL) LIMIT 1),
candidate_signs AS (SELECT * FROM sdmk_stereo_unfiltered_road_feature WHERE (st_dwithin(location_modeled, fetched_row.location_modeled, 20, TRUE) AND
sign_type=fetched_row.sign_type AND
ts!=fetched_row.ts))
UPDATE sdmk_stereo_unfiltered_road_feature
SET is_processed=true
FROM candidate_signs
WHERE candidate_signs.id = sdmk_stereo_unfiltered_road_feature.id;
Тем не менее я получаю сообщение об ошибке
[42P01] ERROR: missing FROM-clause entry for table "fetched_row" Position: 272
Я понимаю, что ошибка, вероятно, где-то здесь
SELECT * FROM sdmk_stereo_unfiltered_road_feature WHERE (st_dwithin(location_modeled, fetched_row.location_modeled, 20, TRUE) AND
sign_type=fetched_row.sign_type AND
ts!=fetched_row.ts)
Но все же не повезло в отладке и получении ее на работу. Я думаю, что упускаю что-то совершенно очевидное.