我正在使用这个数据库,我有几个表存储有关收据和费用的信息。
我想做的是制作一种格式,我将整体余额,即(Table1.Receipts_total + Table2.Receipts_total) - (Table3.Expenses_total + Table4.Expenses_total)
这里的主要问题是这些表彼此不相关,而且在FileMaker中处理这方面似乎非常困难。
我认为有一种方法可以运行一个低级的“原始”SQL语句,但我无法做到这一点。
答案 0 :(得分:0)
首先,我建议您规范化您的数据结构 - 因为无论您对当前的数据结构做什么都只是一个黑客攻击。
无论如何,即使不使用ExecuteSQL()
,也很容易获得你想要的数字 - 只需运行一个简单的脚本,如:
Go to Layout [ Table1.Receipts ]
Show All Records
Set Variable [ $balance; Value:Table1.Receipts::sTotalAmount ]
Go to Layout [ Table2.Receipts ]
Show All Records
Set Variable [ $balance; Value:$balance + Table2.Receipts::sTotalAmount ]
Go to Layout [ Table3.Expenses ]
Show All Records
Set Variable [ $balance; Value:$balance - Table3.Expenses::sTotalAmount ]
此时,$balance
变量将包含所请求的数字,您可以随意执行任何操作。
注意:sTotalAmount
字段是三个表中每个表中定义为Total of [Amount]
的摘要字段。
或者,您可以使用x
关系运算符关联三个表(即创建笛卡尔积关系),然后使用计算,例如在Table1.Receipts
表中,=
sTotalAmount + Table2.Receipts::sTotalAmount - Table3.Expenses::sTotalAmount
但我不建议你把它作为一个"直播"布局上的计算字段,因为随着事务数量的增加,这将变得越来越慢。