Sql 列未给出求和值

Sql 列未给出求和值,sql,sapb1,Sql,Sapb1,我有以下代码 SELECT DISTINCT T0.U_RessName, (SELECT SUM(X.U_DuratD-X.U_NClearableD) FROM [@SWA_CT_EFFORT] X INNER JOIN OSCL Y ON X.U_ObjEntry = Y.callID WHERE X.U_RessName = T0.U_RessName AND X.U_FromDate >= dateadd(day,datediff(day,0,GetDate())- 7,0)

我有以下代码

SELECT DISTINCT T0.U_RessName,
(SELECT SUM(X.U_DuratD-X.U_NClearableD) FROM [@SWA_CT_EFFORT] X INNER JOIN OSCL Y ON X.U_ObjEntry = Y.callID WHERE X.U_RessName = T0.U_RessName AND X.U_FromDate >=  dateadd(day,datediff(day,0,GetDate())- 7,0) AND (Y.subject LIKE '%%PM%%' AND Y.subject NOT LIKE '%%Follow%%')),
(SELECT CASE WHEN ISNUMERIC(A.U_UserField1) = 1
    THEN CONVERT(DECIMAL(18,2),A.U_UserField1)
    ELSE 0 END
FROM [@SWA_CT_SUBSCR] A LEFT JOIN OSCL B ON B.U_SWA_CT_SubCode = A.Code WHERE A.U_CardCode = T1.customer  AND B.subject = T1.subject) AS 'Billed Hours' 
FROM [@SWA_CT_EFFORT] T0
INNER JOIN OSCL T1 ON T1.callID = T0.U_ObjEntry
WHERE (T1.subject LIKE '%%PM%%' AND T1.subject NOT LIKE '%%Follow%%') AND
T0.U_FromDate >= dateadd(day,datediff(day,0,GetDate())- 7,0)
这给了我这个输出

我需要Billed Hours列为每个资源名称提供一个总和值,第一个没有名称的列可以正常工作(从重复的值可以看出),但是我很难让总和在Billed Hours中工作。例如,第一个资源的空命名列值应为9.75,计费小时数应为18(13+5)

我试着像这样修改该列的代码

(SELECT SUM(CASE WHEN ISNUMERIC(A.U_UserField1) = 1
    THEN CONVERT(DECIMAL(18,2),A.U_UserField1)
    ELSE 0 END)
FROM [@SWA_CT_SUBSCR] A LEFT JOIN OSCL B ON B.U_SWA_CT_SubCode = A.Code WHERE A.U_CardCode = T1.customer  AND B.subject = T1.subject) AS 'Billed Hours' 
但这不起作用。可能只是简单地把总和放在不同的位置,但没有一种方法对我有效


非常感谢您的帮助。

您可能需要在查询结束时按资源名称分组。