我需要使用来自其他表的信息更新表。 这是我的 sql 查询:
UPDATE service a
JOIN agency b USING (feed_id)
SET end_date = (SELECT MIN(start_date)-1
FROM service c
JOIN agency d USING (feed_id)
WHERE b.feed_id = a.feed_+1
AND b.agency_id = d.agency_id)
我在条件中需要代理 ID,所以唯一的方法是将两个表与代理表连接起来。
Postgres 返回:
ERROR: syntax error at or near "JOIN"
LINE 1: UPDATE service a JOIN agency b USING (feed_id) SET end_date ...
有什么建议吗?
最佳答案
试试这个:)
UPDATE service
SET end_date = (SELECT MIN(start_date)-1
FROM service c
JOIN agency d USING (feed_id)
WHERE b.feed_id = a.feed_+1
AND b.agency_id = d.agency_id)
FROM service a
JOIN agency b USING (feed_id)
关于sql - Postgresql 使用连接更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40287034/