我正在创建一个报告,以显示按项目划分的成本和收入。我需要根据项目对应收发票总额和应收发票总额进行分组。
同一项目可能有很多应付账款发票和应收账款发票,其中可能包含相同的项目。如果有5个具有相同项目的应付账款发票,例如A,B,CI,则也需要按金额进行项目明智的总和(按行总和)
所有项目名称和代码(PrjCode-主键)均基于单独的OPRJ表 其他表结构如下 应付发票-OPCH(主要详细信息)与PCH1链接(项目详细信息) 在主键上-DocEntry PCH1线路与PCH1.Project = OPRJ.PrjCode
上的OPRJ链接应收发票-OINV(主要详细信息)与INV1链接(项目详细信息) 在主键上-DocEntry INV1行与INV1.Project = OPRJ.PrjCode上的OPRJ链接
我尝试了此查询,但无法获得总和
select a.PrjCode,a.PrjName,b.ItemCode,sum(b.LineTotal),Sum(c.DocTotal),sum(e.DocTotal)
from OPRJ a
Left Join PCH1 b on b.Project = a.PrjCode
Left Join OPCH c on c.DocEntry = b.DocEntry
Left Join INV1 d on d.Project = a.PrjCode and b.Project = d.Project
Left Join OINV e on e.DocEntry = d.DocEntry
Group by
a.PrjCode,a.PrjName,c.DocTotal,e.DocTotal,b.ItemCode,b.LineTotal
我期望的输出如下
不加和的sql输出
答案 0 :(得分:0)
您应该通过以下方式从组中删除要汇总的值:
select a.PrjCode,a.PrjName,b.ItemCode,sum(b.LineTotal),Sum(c.DocTotal),sum(e.DocTotal)
from OPRJ a
Left Join PCH1 b on b.Project = a.PrjCode
Left Join OPCH c on c.DocEntry = b.DocEntry
Left Join INV1 d on d.Project = a.PrjCode and b.Project = d.Project
Left Join OINV e on e.DocEntry = d.DocEntry
Group by
a.PrjCode,a.PrjName,b.ItemCode