我创建了一个视图来组合两个表(COMPANY
和PAYMENTS
),其中COMPANY
来自COMPANY
,PAYDUE
和{{1来自DATEDUE
PAYMENTS
现在,如果COMPANY | PAYDUE | DATEDUE
和PAYDUE
匹配,我需要基本总结COMPANY
中的所有值。
所以,让我说我有这些条目:
DATEDUE
我需要的是添加具有相同COMPANY | PAYDUE | DATEDUE
Comp 1 | 8000 | 4/30/2015
Comp 1 | 7000 | 5/15/2015
Comp 1 | 6000 | 4/30/2015
Comp 1 | 5000 | 5/15/2015
Comp 2 | 4000 | 4/30/2015
Comp 2 | 3000 | 5/15/2015
Comp 2 | 2000 | 4/30/2015
Comp 2 | 1000 | 5/15/2015
和PAYDUE
的所有行的COMPANY
,这样我需要显示的内容是:
DATEDUE
我不知道如何添加匹配COMPANY | PAYDUE | DATEDUE
Comp 1 | 14000 | 4/30/2015 <- from- 8000+6000
Comp 1 | 12000 | 5/15/2015 <- from- 7000+5000
Comp 2 | 6000 | 4/30/2015 <- from- 4000+2000
Comp 2 | 4000 | 5/15/2015 <- from- 3000+1000
和COMPANY
的广告。任何人都可以为此建议方法吗?
也忘了提到我希望在查询中完成所有操作,但如果在查询中无法做到这一点,我会对任何解决方案感到满意。
最终工作查询
DATEDUE
答案 0 :(得分:1)
我认为这个查询应该这样做:
Select c.Company, sum(p.paydue), p.datedue
from company c, payments p
where
c.company = p.company
group by p.datedue, c.company
<强>更新强>
根据documentation sqlite有聚合函数,我从来没有在Android中尝试过,但我确实在sqlitemanager中试过,它运行正常。
关于这个c.company = p.company
,你需要一种方法来了解什么公司的付款,我假设公司表描述公司,付款表描述付款,并有一列指定公司付款属于。
我重新阅读了你的问题,因此,从视图中应该是这样的:
Select v.Company, sum(v.paydue), v.datedue
from CompanyPaymentView v
where
group by v.datedue, v.company