Database 删除左连接postgres
问题:我有以下两张表。我想删除临时数据中不存在的旧数据行。主键是id和scenario。我在postgres中运行了以下delete-left-join,不幸的是没有成功(它删除了整个表): 你知道如何调整查询吗Database 删除左连接postgres,database,postgresql,Database,Postgresql,问题:我有以下两张表。我想删除临时数据中不存在的旧数据行。主键是id和scenario。我在postgres中运行了以下delete-left-join,不幸的是没有成功(它删除了整个表): 你知道如何调整查询吗 ## Old data 您不需要左连接: DELETE FROM old_data od where not exists (select * from temp_data td where td.id =
## Old data
您不需要左连接:
DELETE FROM old_data od
where not exists (select *
from temp_data td
where td.id = od.id
AND td.scenario = od.scenario) ;
谢谢一个后续问题:假设临时数据中只有场景=2的数据可用,我只想从场景=2中删除旧数据中的行,这些行在临时数据中不再存在,而场景=1在旧数据中存在(即在旧数据中保留场景=1的行)。你也知道怎么做吗?
Temp data
DELETE FROM old_data od
where not exists (select *
from temp_data td
where td.id = od.id
AND td.scenario = od.scenario) ;