在“空白”表上加入查询 - 更新时需要添加

Posted

技术标签:

【中文标题】在“空白”表上加入查询 - 更新时需要添加【英文标题】:Join Query on a “blank” Table - Need it to add when updating 【发布时间】:2019-04-15 13:21:51 【问题描述】:

我有一个table1x1 作为键和东西,然后table2x2 作为键和列(例如:dataAdataBdataC)但t2 有里面没有记录。 t1t2x1x2 加入。

我想要它,当我向任何数据添加一些内容时,它会在 x2 = x1dataABC 中创建一个新行我在做。

t1_____________t2

x1 _ t1.a _ t1.b _ t2.dataA _ t2.dataB _ t2.dataC

1 __ a ___ b ____ 更新

t2 从没有记录到

x2_dataA

1 __ 更新

【问题讨论】:

您当前拥有的数据示例以及预期结果示例会有所帮助。到目前为止,您尝试过什么? 换句话说“当我插入table1时,我想插入一条记录到table2。在大多数 RDBMS 中,这将由 trigger 处理。这是在数据库中发生操作时执行的一些脚本(例如,当您插入table1 时,它使用相同的键执行插入table2 的操作)。查看 question 特别是 the answer 上的“事件驱动的宏”,了解如何在 MS Access 中创建类似 trigger 的内容。 无关,您可以使用ozh.github.io/ascii-tables 之类的网站在 *** 上为此处制作格式化表格。只需将该站点的输出粘贴到您的问题中,将其全部突出显示,然后单击顶部的 按钮以保留格式。 【参考方案1】:

创建一个 DataMacro(又名命名宏)并在表 x1 上的 AfterInsert 事件中运行它 (Menu Bar)

Macro 采用 x1 中的新值并根据您选择使用的字段在 x2 中创建一条记录。

如果您想为 x1 的任何更新创建记录,请在 x1 的 AfterUpdate 事件中运行 DataMacro。例如,如果您正在创建一个名为 x2 的日志表,则可以使用 [Old].[field1] 访问宏中 x1 字段的旧值,并且可以使用 [field1] 访问新值(更新后) .

【讨论】:

以上是关于在“空白”表上加入查询 - 更新时需要添加的主要内容,如果未能解决你的问题,请参考以下文章

为每个提取的记录在其他表上计算聚合 - 性能

使用 Propel ORM 在 3 个表上加入

难以在同一张表上创建更新总计查询

SQL Server 在事实表上插入查询

更新访问查询中的空白单元格

通过 AWS 上的 API 在胶表上添加分区?