0
我需要根据子查询的结果更新列。如果子查询返回该列的结果,则列必须更新,查询是否返回该列的结果,然后我需要用0更新。CASE语句中的更新列与子查询的结果postgres
我不知道将子查询放在哪里以及如何组合它与CASE声明。这是我的想法,但语法不正确。任何人都可以帮忙吗?
(SELECT datazones.ogc_fid, count(*) as total
FROM suppliersnew suppliers, datazone_report_resupply datazones
WHERE St_contains(datazones.geom, suppliers.geometry) AND (suppliers.status = 'Under construction' OR
suppliers.status = 'Unknown' OR suppliers.status = 'Operational') GROUP by datazones.ogc_fid ORDER BY total ASC) sources
UPDATE datazone_report_resupply
SET es_actual =
CASE
WHEN datazone_report_resupply.ogc_fid = sources.ogc_fid THEN sources.total
ELSE 0
END