内部加入分组依据
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
每个分支都有项目,每个项目都有 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