【发布时间】:2012-03-01 16:11:43
【问题描述】:
我在 Filemaker 中有两个表:
tableA(包括字段idA(例如a123)、date、price)和tableB(包括字段idB(例如b123)、date、price)。
如何创建一个新表tableC,其中包含id 字段,同时填充idA 和idB,(其他字段用于计算两者的组合数据 表)?
【问题讨论】:
我在 Filemaker 中有两个表:
tableA(包括字段idA(例如a123)、date、price)和
tableB(包括字段idB(例如b123)、date、price)。
如何创建一个新表tableC,其中包含id 字段,同时填充idA 和idB,(其他字段用于计算两者的组合数据 表)?
【问题讨论】:
唯一的方法是编写脚本(用于重复使用)或“手动”执行,如果这是一个临时过程。具体情况视情况而定,请澄清。
更新:对不起,我实际上忘记了这个问题。我假设 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 字段作为要同步的关键文件。
【讨论】:
这将是一个 FileMaker 脚本。它可以作为脚本触发器运行,但对用户来说不会是无缝的。最好的办法是创建表,然后根据需要(手动)运行脚本来构建表 C。如果您有 FileMaker Server,您可以安排定期运行此脚本以使表 C 保持最新。
【讨论】:
也许您可以使用 select into 语句。 我不确定您是否希望使用 TableA 和 TableB 中的计算字段,或者您的意图是否只计算同一个表中的字段?
如果tableA.IdA也存在于tableB.IdA中,则可以将这两个表连接起来并选择进去。
否则,您为每个表运行一次语句。
Select tableA.IdA, tableA.field1A, tableA.field2A, tableA.field1A * tableB.field2A
into New_Table from tableA
编辑:错过了您提到 FileMaker 的部分。 但也许你可以在 db 上编写脚本然后删除表。
【讨论】: