我正在尝试更新表中的条目以反映我存储在另一个表中的内容,这取决于项目在另一个表中的类别。哦,我的物品都用字母键(AKey)和数字键(NKey)键入。
到目前为止我已经
了update itmHistory
set ithLocation = storLocation from items, storage
where ithAKey in (select storAKey from storage)
and ithNKey in (select storNKey from storage)
and storCategoryName = itmCategoryName;
最终发生的事情是,items表中的每个实例都将设置为storCategoryName = itmCategoryName
的最后一个条目。
如果找到每个更新的任何想法?
编辑:表格信息:
itmHistory: ithAKey varchar(3) PK
ithNKey int PK
ithStart timestamp PK
ithEnd timestamp
ithLocation text
items: itmAKey varchar(3) PK
itmNKey int PK
itmCategoryName text
storage: storName text PK
storCategoryName text
storLocation text
(PK =主键)
答案 0 :(得分:0)
根据您的表信息,这个怎么样?
UPDATE ih
SET ih.ithLocation = s.storLocation
FROM itmHistory ih
JOIN items i ON ih.ithAKey = i.itmAkey AND ih.ithNKey=i.itmNKey
JOIN Storage s ON i.itemCategoryName = s.storCategoryName