Sql 错误:表“”的子句条目中缺少;已提取“U行”;
我对SQL非常陌生,所以下面是我尝试运行的查询Sql 错误:表“”的子句条目中缺少;已提取“U行”;,sql,database,postgresql,Sql,Database,Postgresql,我对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
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)
但在调试和使其工作方面仍然没有运气。我想我遗漏了一件很明显的事情。您不是在调用
中的获取行中的:
SELECT *
FROM sdmk_stereo_unfiltered_road_feature,
fetched_row
WHERE (st_dwithin(location_modeled, fetched_row.location_modeled, 20, TRUE) AND
sign_type=fetched_row.sign_type AND
ts!=fetched_row.ts)
在距离条件下进行连接是有意义的(结果相同,但更清晰):
请解释你想做什么。样本数据和期望的结果确实有帮助。非函数查询通常不是很有用。解决了所有问题。正如我所说,这应该是很明显的,谢谢你指出:)
SELECT *
FROM sdmk_stereo_unfiltered_road_feature
JOIN fetched_row ON st_dwithin(location_modeled, fetched_row.location_modeled, 20, TRUE)
WHERE sign_type=fetched_row.sign_type
AND ts!=fetched_row.ts