我想计算每个ASSIGNEE_NAME的总时间百分比
select
ROUND(CAST(
(
select
CAST(AVG(DATEDIFF(SECOND, INF_TOWORK_TIME, INF_EXECUTE_TIME))as VARCHAR(10))
FROM [dbo].[PROBSUMMARYM1] IM
INNER JOIN [dbo].[MYGROUPSM1] MG on MG.ID = IM.ASSIGNEE_NAME
LEFT JOIN [dbo].[SCRELATIONM1] SC on IM.INCIDENT_ID = SC.SOURCE_ACTIVE
GROUP BY ASSIGNEE_NAME
)AS nvarchar),5)*100./
(
select
CAST(AVG(DATEDIFF(SECOND, INF_TOWORK_TIME, INF_EXECUTE_TIME))as VARCHAR(10))
FROM [dbo].[PROBSUMMARYM1] IM
INNER JOIN [dbo].[MYGROUPSM1] MG on MG.ID = IM.ASSIGNEE_NAME
LEFT JOIN [dbo].[SCRELATIONM1] SC on IM.INCIDENT_ID = SC.SOURCE_ACTIVE
)
FROM [dbo].[PROBSUMMARYM1] IM
INNER JOIN [dbo].[MYGROUPSM1] MG on MG.ID = IM.ASSIGNEE_NAME
LEFT JOIN [dbo].[SCRELATIONM1] SC on IM.INCIDENT_ID = SC.SOURCE_ACTIVE
GROUP BY ASSIGNEE_NAME
但我有一个错误:子查询返回多于1的值,当子查询跟随时,这是不允许的。 我犯了什么错误? 感谢
答案 0 :(得分:0)
您在ROUND中使用了两个子查询,其中一个可能返回多行。所以你应该重新检查你的子查询,它是加入条件来处理这个错误。