Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL+求和连接[第2部分]_Sql Server - Fatal编程技术网

Sql server SQL+求和连接[第2部分]

Sql server SQL+求和连接[第2部分],sql-server,Sql Server,下午好 我想要一些进一步的建议。关于我先前的问题: 我现在需要做相反的事情 我需要从Partner表中选择*数据,其中project表中某个项目的Partner表中Partner%的总和不是100% 我不知道如何编写这个代码;我需要加入partner表 SELECT project id, project name, SUM(partner_%) as [Project Partner Total] FROM Project Table LEFT JOIN [par

下午好

我想要一些进一步的建议。关于我先前的问题:

我现在需要做相反的事情

我需要从Partner表中选择*数据,其中project表中某个项目的Partner表中Partner%的总和不是100%

我不知道如何编写这个代码;我需要加入partner表

 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表中获取partner信息,其中partner的总和不等于项目的100。

您应该首先使用内部查询来获取项目。然后你可以加入合伙人

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
如果您尝试在一个联接中执行此操作,您将在分组方面遇到问题。您只需要对项目进行分组,而不需要对合作伙伴进行分组

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

你的代码怎么了?您是否有错误?我看不出您的查询有任何问题,除了您的having条件可能只是SUMpartner_uu%<100;以上代码运行良好;然而,“反向”是指我需要从partner表中获取partner信息,其中partner_%的总和不等于项目的100%。在SELECT和GROUP by子句中添加project表的必填字段。partner_%位于partner表中;这给了我通常的“无法绑定”错误消息?我发现,如果我将Partner表添加到内部联接的FROM部分,那么所有行的总和都返回值3417739.77:好的,我不知道,请提供有问题的表的结构。无论如何,我在查询中又添加了一个连接,以问题中的示例为例。方法是一样的:首先得到正确的项目,然后找到合作伙伴。