首页 > 解决方案 > 如何使用另外两个表的选择内连接的结果更新第三个表

问题描述

我有一个访问数据库,其中包含三个名为 DD、Export 和 RPL 的表

我有 EXPORT AND DD 之间的内部连接的结果,它工作正常

现在有了这些结果,我想更新第三个表 RPL,该表当前为空,但要填充这些字段,例如 RPL。[Hotel ID] 应该是下面查询产生的酒店 ID

SELECT Export.[Hotel ID], Export.[Property Name], Export.[Room Type ID] AS
[Parent Room Type ID], Export.[Room Type Code] AS [Parent Room Type Code],
Export.[Rate Plan ID] AS [Parent Rate Plan ID], Export.[Expedia Collect Rate 
Plan Code] AS [Parent Rate Plan Code EC], Export.[Hotel Collect Rate Plan 
Code] AS [Parent Rate Plan Code HC], Export.[Rate Plan Name] AS [Parent Rate
Plan Name]
INTO RPL
FROM Export INNER JOIN DD ON Export.ExKey = DD.DDKey;

上一个查询将结果复制到一个新表中,我想使用已经存在的表 任何帮助,不胜感激

谢谢

标签: sqlvbams-access

解决方案


由于您的示例不清楚,我将写一个更简单的来说明如何使用其他表连接的数据来更新表,现在有三个表ATable,BTable,CTable,列ATable是,id,value1,value2列,BTable列,现在我们将使用 B 和 C 连接的数据来更新 ATable,SQL 如下所示:id,value1CTableid,value2

update ATable a set value1 = t.value1, value2 = t.value2 
from (
  select
      b.id,
      b.value1,
      c.value2
  from
      BTable b
  join
      CTable c on b.id = c.id
) t where a.id = t.id

推荐阅读