Android 如果另一列匹配,则添加该列的所有值

Android 如果另一列匹配,则添加该列的所有值,android,sqlite,Android,Sqlite,我创建了一个视图来合并两个表(COMPANY和PAYMENTS),就像COMPANY来自COMPANY和DATEDUE来自PAYMENTS COMPANY | PAYDUE | DATEDUE 现在,如果公司和到期日匹配,我需要基本上汇总到期日中的所有值 假设我有这些条目: COMPANY | PAYDUE | DATEDUE Comp 1 | 8000 | 4/30/2015 Comp 1 | 7000 | 5/15/2015 Comp 1 | 6000 | 4/30/20

我创建了一个视图来合并两个表(
COMPANY
PAYMENTS
),就像
COMPANY
来自
COMPANY
DATEDUE
来自
PAYMENTS

COMPANY | PAYDUE | 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   

我认为这个查询应该做到这一点:

Select c.Company, sum(p.paydue), p.datedue
from company c, payments p 
where
c.company = p.company
group by p.datedue, c.company
更新:

根据sqlite具有聚合函数的说法,我从未在Android中尝试过,但我确实在SQLItemManager中尝试过,而且效果很好。 关于这个
c.company=p.company
,您需要一种方法来知道什么是支付给哪个公司的,我假设company表描述的是公司,而payment表描述的是支付,并且有一列指定支付所属的公司

我重读了你的问题,所以,从观点来看应该是这样的:

Select v.Company, sum(v.paydue), v.datedue
from CompanyPaymentView v
where
group by v.datedue, v.company

我试过使用你提到的求和函数,但遇到了一个错误。我发了一篇编辑文章,我做错什么了吗?我还需要一些关于
c.company=p.company
区域的澄清。我在哪里可以得到
p.company
,我的p表没有
company
列。另外,我在旁注中看到,sqlite没有任何用于添加列的核心功能,这个答案是否错误?感谢您的提醒,因为某种原因,我之前没有收到编辑通知。我对它进行了一些小的调整,大部分是我这边的小语法错误。我将把工作查询放在编辑中。再次感谢!
Select v.Company, sum(v.paydue), v.datedue
from CompanyPaymentView v
where
group by v.datedue, v.company