我有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
错误:缺少表“ dim_table”的FROM子句条目
FROM
项目(由@Brandon发布)。SET
子句中表限定的列,该列无效(如@Rohit注释)。<>
和=
in inWHERE
子句。我还简化了表别名:
UPDATE fact_table f
SET item_key = d.item_key
FROM dim_table d
WHERE f.item_key <> d.old_key
AND f.item_key = d.item_key;
不要在目标列的规范中包含表的名称,例如,
UPDATE tab SET tab.col = 1
无效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句