内部加入分组依据

inner join with group by

每个分支都有项目,每个项目都有 item_cost & outlay_fees

all projects

item_cost for every project

outlay_fees for every project

我需要计算每个项目的总和(outlay_fees & item_cost) 我用这个:

SELECT
projects.project_no ,
projects.project_address ,
branch.branchName , 
sum(projectwork.item_cost) as totalcost ,
SUM(projectoutlay.projectOutlay_fess) as totalfees 
FROM projects 
INNER JOIN
branch on projects.branch_id = branch.branch_id 
JOIN
projectwork on projectwork.project_id = projects.projects_id 
JOIN
projectoutlay ON projectoutlay.project_id = projects.projects_id
GROUP BY projects.project_no; 

但结果计算错误

the results : total Cost & total fees is wrong

 With cte as(
 
 SELECT projectwork.project_id, 
           sum(projectwork.item_cost) as totalcost ,
           SUM(projectoutlay.projectOutlay_fess) as totalfees 
 FROM projectwork INNER JOIN projectoutlay
 ON projectwork.project_id = projectoutlay.projects_id 
 group by
     projectwork.project_id  
 )
 
 SELECT
      projects.project_no ,
      projects.project_address ,
      projects.branch_id,
      cte.totalcost,
      cte.totalfees
From project left JOIN cte
ON projects.project_no = cte.project_id