下午好,
我想进一步的建议。关于我之前的问题: SELECT + SUM + LEFT JOIN
我现在需要反过来。
我需要来自Partner表的SELECT * Data,其中(Project Table)中项目的partner_%(来自合作伙伴表)的SUM不是100%。
我不确定如何对此进行编码;我需要加入合作伙伴表。
SELECT project id, project name, SUM(partner_%) as [Project Partner Total]
FROM Project Table LEFT JOIN
[partner table]
ON project.projectID = partner.projectID
GROUP BY project id, project name
HAVING SUM(partner_%) <> 100;
编辑:
所以我需要从合作伙伴表中获取合作伙伴信息,其中partner_%的SUM不等于项目的100。
答案 0 :(得分:2)
您应该首先使用内部查询来获取项目。然后你可以加入合作伙伴。
如果您尝试在一个联接中执行此操作,则会遇到分组问题。您只需要对项目进行分组,而不是合作伙伴。
SELECT partner.*, PR.*
FROM partner
INNER JOIN
(SELECT project id, project name, SUM(partner_%) as [Project Partner Total]
FROM Project
LEFT JOIN partner ON project.projectID = partner.projectID
GROUP BY project id, project name
HAVING SUM(partner_%) <> 100) PR
ON PR.projectID = partner.projectID