Populating a table with fields from two other tables

巧了我就是萌 提交于 2019-12-12 19:08:30

问题


I have two tables in Filemaker:

  • tableA (which includes fields idA (e.g. a123), date, price) and

  • tableB (which includes fields idB (e.g. b123), date, price).

How can I create a new table, tableC, with field id, populated with both idA and idB, (with the other fields being used for calculations on the combined data of both tables)?


回答1:


The only way is to script it (for repeating uses) or do it 'manually', if this is an ad-hoc process. Details depend on the situation, so please clarify.

Update: Sorry, I actually forgot about the question. I assume the ID fields do not overlap even across tables and you do not need to add the same record more than once, but update it instead. In such a case the simplest script would be like that:

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 ]

The Import Records step is managed via rather elaborate dialog, but the idea is that you import from the same file (you can just type file:<YourFileName> there), the format is FileMaker Pro, and then set the field mapping. Make sure to choose the Update matching records and Add remaining records options and select the ID fields as key files to sync by.




回答2:


It would be a FileMaker script. It could be run as a script trigger, but then it's not going to be seamless to the user. Your best bet is to create the tables, then just run the script as needed (manually) to build Table C. If you have FileMaker Server, you could schedule this script to be run periodically to keep Table C up-to-date.




回答3:


Maybe you can use the select into statement. I'm unsure if you wish to use calculated field from TableA and TableB or if your intension was to only calculate fields from the same table?

If tableA.IdA exists also in tableB.IdA, you could join the two tables and select into.

Else, you run the statement once for each table.

Select into statement

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

Edit: missed the part where you mentioned FileMaker. But maybe you could script this on the db and just drop the table.



来源:https://stackoverflow.com/questions/9519722/populating-a-table-with-fields-from-two-other-tables

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!