我有包含列的 dim_table
:
item_key, client_id, date, notes, old_key
还有一个fact_table
:
user_key, trans_key, item_key, ref_number,date
我必须更新 fact_table
,其中 item_key
不等于 dim_table.item_key
。
但是 dim_table.old_key
等于 fact_table.item_key
中的现有键。
我试过了,但是没用:
update fact_table
SET fact_table.item_key = dim_table.item_key
where
fact_table.item_key = dim_table.old_key
and fact_table.item_key <> dim_table.item_key
ERROR: missing FROM-clause entry for table "dim_table"
最佳答案
您缺少更新语句的 from 部分:
update fact_table
SET item_key = dim_table.item_key
FROM dim_table
where
fact_table.item_key = dim_table.old_key
and fact_table.item_key <> dim_table.item_key
关于sql - 根据其他表中的列更新表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23807737/