如何使用另一个两个表的选择内部联接的结果更新第三个表

时间:2019-05-16 03:54:43

标签: sql access-vba

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

我在EXPORT和DD之间建立了内部连接,结果很好

现在有了这些结果,我想更新第三个表RPL,该表当前为空,但具有要填充的字段,例如RPL。[Hotel ID]应该是从下面的查询中得出的Hotel 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;

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

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