Postgresql
在相關子查詢方面需要幫助
我有兩個 PostgreSQL 表,每個表都包含一個名為
date_of_incident
.它們每個都有一個名為的列
incident_id
,這就是表的關聯方式。我想通過設置
date_of_incident
等於date_of_incident
表 2 的相應行來更新表 1 的所有行,其中incident_id
表 1 等於incident_id
表 2。任何人都可以提供樣品
UPDATE
嗎?我會很感激的。
incident_id
在兩個表中都是唯一的,這就是表的關聯方式,儘管不是通過外鍵或約束(可悲)。我有額外的條件status = closed
。唯一的複雜之處是表 1 有一個更新觸發功能,我需要檢查一下 SQL 將如何影響事物。
Postgres 允許在 UPDATE 語句中連接表:
update table_1 set date_of_incident = t2.date_of_incident from table_2 t2 where table_1.incident_id = t2.incident_id;
這假設
incident_id
在兩個表中都是唯一的。