【问题标题】:Populating a table with fields from two other tables使用其他两个表中的字段填充表
【发布时间】:2012-03-01 16:11:43
【问题描述】:

我在 Filemaker 中有两个表:

  • tableA(包括字段idA(例如a123)、dateprice)和

  • tableB(包括字段idB(例如b123)、dateprice)。

如何创建一个新表tableC,其中包含id 字段,同时填充idAidB,(其他字段用于计算两者的组合数据 表)?

【问题讨论】:

    标签: database filemaker


    【解决方案1】:

    唯一的方法是编写脚本(用于重复使用)或“手动”执行,如果这是一个临时过程。具体情况视情况而定,请澄清。

    更新:对不起,我实际上忘记了这个问题。我假设 ID 字段即使跨表也不重叠,您不需要多次添加相同的记录,而是更新它。在这种情况下,最简单的脚本是这样的:

    Set Variable[ $self, Get( FileName ) ]
    Import Records[ $self, Table A -> Table C, sync on ID, update and add new ]
    Import Records[ $self, Table B -> Table C, sync on ID, update and add new ]
    

    导入记录步骤通过相当复杂的对话框进行管理,但想法是从同一个文件导入(您可以在此处键入file:<YourFileName>),格式为 FileMaker Pro,然后设置字段映射。确保选择更新匹配记录添加剩余记录选项,并选择 ID 字段作为要同步的关键文件。

    【讨论】:

    • tableA 和 tableB 都在各自的布局中更新,我希望 tableC 通过单击按钮或自动更新自身,所以我认为它应该是脚本而不是“手动的”。这是否说明了情况?谢谢!
    • 什么样的脚本?我想我想以某种方式循环遍历 idA 中的所有条目,然后遍历 idB 中的所有条目......
    • 这将是一个文件制作脚本。请随时与我联系,我可以为您提供示例数据库。
    • 嗨@andyknas,我意识到这将是一个文件制作器脚本,但有兴趣看看那几行代码是什么。您认为可以将其添加到您的答案中吗?
    • 由于没有人给出实际脚本(这是我赏金中的要求),我将把赏金奖励给原始回答者@Mikhail - 他已经回答了我的几个文件制作者问题。
    【解决方案2】:

    这将是一个 FileMaker 脚本。它可以作为脚本触发器运行,但对用户来说不会是无缝的。最好的办法是创建表,然后根据需要(手动)运行脚本来构建表 C。如果您有 FileMaker Server,您可以安排定期运行此脚本以使表 C 保持最新。

    【讨论】:

    • 我对 filemaker 脚本有些熟悉,但在这种情况下,我不知道如何构建一个可以满足我们需求的脚本!
    【解决方案3】:

    也许您可以使用 select into 语句。 我不确定您是否希望使用 TableA 和 TableB 中的计算字段,或者您的意图是否只计算同一个表中的字段?

    如果tableA.IdA也存在于tableB.IdA中,则可以将这两个表连接起来并选择进去。

    否则,您为每个表运行一次语句。

    Select into statement

    Select tableA.IdA, tableA.field1A, tableA.field2A, tableA.field1A * tableB.field2A
    into New_Table from tableA
    

    编辑:错过了您提到 FileMaker 的部分。 但也许你可以在 db 上编写脚本然后删除表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      • 1970-01-01
      相关资源
      最近更新 更多