多年来,我一直使用简陋的电子表格作为跟踪财务状况的一种方式,但随着这个电子表格的规模越来越大,并且我需要更多类型的数据分析,最终很明显,电子表格不再能解决这个问题。问题是,从Calc到Base在理解SQL(特别是HSQLDB(方面是一个缓慢的学习过程,特别是它的语法。
下面是一个带有一些任意值的示例表。我们称之为Table A
。在我的原始表中还有很多其他列,但它们要么无关紧要,要么我已经想好了如何处理它们。
数量 | 账户付款自收款人A百分比 | 收款人B百分比 | |
---|---|---|---|
100 | A | 100 | 0|
200 | B | 0 | 100 |
500 | A | 0 | 100 |
50 | B | 100 | 0 |
10 | A | 40>60 | [/tr>
为了简单起见,我将使用表名"T";以及以下缩写的列名:
"数量"Q"账户支付自"APF"接收者A百分比"RAP"接收方B百分比"RBP";
-
从T中选择*WHERE";APF"=">
-
选择和("Q"*"RBP"/100(作为"Q";求和RBP";FROM";T";其中";APF"=">
-
选择总和("Q"*"RAP"/100(为"0";求和RAP";FROM";T";其中";APF"="B'
-
SELECT";总和RBP"-"求和RAP";FROM(SELECT SUM("Q"*"RBP"/100(AS";求和RBP";FROM";T";其中";APF"="A’(、(SELECT SUM("Q"*"RAP"/100(AS";求和RAP";FROM";T";其中";APF"="B'(