MicrosoftAccess / Excel:如果在这些表中的两个字段匹配,如何更新一个表中的字段以匹配另一个表中的字段?

我是一名实习生,正在处理一些数据清理工作,并且因为我正在处理的一些数据而陷入僵局。

我试图将匹配的序列号和零件号从一个表移动到新表,但只有在其他两个字段跨表匹配时才会这样。

基本上:

I want [GPFixedAsset].[OasisPar] to update to [OasisFixedAssets].[PartNumber] if [GPFixedAsset].[OasisLink] = [OasisFixedAssets].[SysIDOasis] 

然后序号相同:

 [GPFixedAsset].[OasisSer] to update to [OasisFixedAssets].[SerialNumber] if [GPFixedAsset].[OasisLink] = [OasisFixedAssets].[SysIDOasis]. 

我仍然在学习SQL,但是现在有点混乱。

如果可以在Excel中用一个很好的公式来完成。 但是,如果我可以运行两个单独的查询来更新我的表,所以我可以将其导出回Excel,这将是真棒。

编辑:
谢谢大家的答案。 我最终通过运行select查询来查找OasiLink和SysIDOasis之间匹配的所有字段,然后根据查询运行单独的更新查询,将字段更新为正确的值。

SQL格式:

不幸的是,我不能评论,所以我不得不使用一个答案,但我会build议使用variables和一个游标通过SQL来实现这一点。

Cursor是一个循环,将逐一读取每一行。 在光标内,您可以将该值存储到variables中并进行比较。 如果它们匹配,则运行更新脚本:

 DECLARE @Value1 = NVARCHAR(50) DECLARE @Value2 = NVARCHAR(50) 

每次你通过游标,它会更新每个值

所以更新声明会是这样的

 Update [GPFixedAsset] Set [OasisPar] = @Value1 Where @Value1 = Value2 

我不得不做类似的事情,所以这是我做到的最好的方式。

希望它有帮助,山姆