我正在尝试使用更新脚本将一个表中的值分配到另一个表中。
这适用于具有匹配可能性的一条记录
UPDATE Template_Survey
SET K2ref = tbAsset.AssetNo
FROM Template_Structure_Location INNER JOIN
Template_Survey ON
Template_Structure_Location.TEMPLATE_STRUCTURE_LOCATION_REF = Template_Survey.TEMPLATE_STRUCTURE_LOCATION_REF INNER JOIN
tbAsset ON Template_Structure_Location.RoomID = tbAsset.LocationID AND Template_Structure_Location.RoomID = tbAsset.LocationID
WHERE K2transferNote ='Reallocate - same no of spare items' and (tbAsset.AssetName = 'Archive or re-use') and (TEMPLATE_SURVEY_REF = 4369 or TEMPLATE_SURVEY_REF = 4405)
and (Template_Survey.K2ref = 0 OR
Template_Survey.K2ref IS NULL)
但如果Template_Survey表和tbAsset表中有两条符合条件的记录,则tbAsset表中找到的第一条记录将用作Template_Survey表中两条记录的值。
当只有一个可能的记录时,我运行第二个查询来更新tbAsset.AssetName值,以便前一个查询无法再找到该记录,例如
UPDATE tbAsset
SET tbAsset.AssetName = 'Reallocated to item in same location-needs update'
WHERE (AssetNo IN
(SELECT K2Ref
FROM Template_Survey)) and (tbAsset.AssetName = 'Archive or re-use')
如何在重复整个过程之前编写可以对一条记录执行第一次查询然后再对相应记录执行第二次查询的内容,以便每次都找到一条不同的记录?
提前致谢。对不起,如果没有多大意义,那就很难解释了。