簡體   English   中英

如何使用SUM函數和組連接SQL中的表?

[英]How to Join tables in SQL with SUM Function and Group?

我正在創建一份報告,以顯示項目明智的成本和收入。 我需要根據項目對A / P發票和A / R發票總和進行分組。

同一個項目可以有很多A / P發票和A / R發票,可以包含相同的項目。如果有5個A / P發票,相同的項目像A,B,CI也需要采取項目明智的金額總和(行方式)總和)

所有項目名稱和代碼(PrjCode-Primary Key)基於OPRJ其他表結構的單獨表格,如下所示A / P發票 - OPCH(主要詳細信息)與PCH1的鏈接(項目詳細信息)在主鍵上 - DocEntry PCH1行與OPRJ的鏈接在PCH1.Project = OPRJ.PrjCode

A / R發票 - OINV(主要詳細信息)鏈接INV1(項目詳細信息)主鍵 - DocEntry INV1線路與INV1.Project上的OPRJ鏈接= OPRJ.PrjCode

我嘗試這個查詢,但無法得到總和

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輸出

在此輸入圖像描述

你應該通過以下方式刪除你從小組中總結的值:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM