【发布时间】:2010-09-12 18:44:35
【问题描述】:
SQL 不是我的强项,但我正在努力解决 - 感谢您的回复。
我正在编写一份报告,该报告将返回我们合同中个人服务的完成百分比。有一个主表“合同”,每个单独的合同可以从“服务”表中获得多个服务,每个服务在“标准”表中有多个标准,记录每个标准的完成百分比。
我已经计算了特定 Contract_ServiceID 的每个单独服务的总完成百分比,但是如何返回所有合同的所有服务百分比?像这样的:
合同 服务 完成百分比
abc 公司 服务 1 98%
abc 公司 服务 2 100%
xyz 公司 服务 1 50%
这是我到目前为止所拥有的:
SELECT
Contract_ServiceId,
(SUM(CompletionPercentage)/COUNT(CompletionPercentage)) * 100 as "Percent Complete"
FROM dbo.Standard sta WITH (NOLOCK)
INNER JOIN dbo.Contract_Service conSer ON sta.ServiceId = conSer.ServiceId
LEFT OUTER JOIN dbo.StandardResponse standResp ON sta.StandardId = standResp.StandardId
AND conSer.StandardReportId = standResp.StandardReportId
WHERE Contract_ServiceId = '[an id]'
GROUP BY Contract_ServiceID
这也让我着迷:
Contract_serviceid 完成百分比
[一个 id] 100%
编辑:表格未显示在帖子中。
【问题讨论】:
-
你能发布所涉及的表的表结构,或者至少是相关字段吗?它将帮助我们弄清楚如何表达您的查询。
标签: sql sql-server tsql