tsql不同计数子查询2

tsql不同计数子查询2,tsql,subquery,distinct,Tsql,Subquery,Distinct,我正在使用SSMS 2008,需要使用子查询返回唯一记录/客户端的计数。我该怎么做?目前我收到错误信息: Msg 512, Level 16, State 1, Line 58 Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or 这应该可以更有效地工作和运行 SELECT A.Program, A.PEO

我正在使用SSMS 2008,需要使用子查询返回唯一记录/客户端的计数。我该怎么做?目前我收到错误信息:

Msg 512, Level 16, State 1, Line 58
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or 

这应该可以更有效地工作和运行

SELECT A.Program, A.PEOPLE_ID, sub.EVENT_NAME, A.Program2, A.Program3, sub.DistinctEvent 
FROM (
    SELECT K.EVENT_NAME, COUNT(DISTINCT K.EVENT_NAME) as DistinctEvent 
    FROM #TEMP1 as A 
    JOIN evolv_cs.dbo.facility_view as F ON F.group_profile_id = A.group_profile_id 
    JOIN evolv_cs.dbo.people_x as N ON A.people_id = N.people_id 
    JOIN event_view as K WITH (NOLOCK) ON K.event_definition_id = a.event_definition_id 
    WHERE @START_DATE BETWEEN A.Enrolled_Date AND DATEADD(D, 14, A.Enrolled_Date) 
    AND (@SERVICE IS NULL OR @SERVICE = K.event_name) 
    GROUP BY K.EVENT_NAME
) as sub 
JOIN #TEMP1 as A ON A.EVENT_NAME = sub.EVENT_NAME 

请粘贴引发错误的实际代码。
SELECT A.Program, A.PEOPLE_ID, sub.EVENT_NAME, A.Program2, A.Program3, sub.DistinctEvent 
FROM (
    SELECT K.EVENT_NAME, COUNT(DISTINCT K.EVENT_NAME) as DistinctEvent 
    FROM #TEMP1 as A 
    JOIN evolv_cs.dbo.facility_view as F ON F.group_profile_id = A.group_profile_id 
    JOIN evolv_cs.dbo.people_x as N ON A.people_id = N.people_id 
    JOIN event_view as K WITH (NOLOCK) ON K.event_definition_id = a.event_definition_id 
    WHERE @START_DATE BETWEEN A.Enrolled_Date AND DATEADD(D, 14, A.Enrolled_Date) 
    AND (@SERVICE IS NULL OR @SERVICE = K.event_name) 
    GROUP BY K.EVENT_NAME
) as sub 
JOIN #TEMP1 as A ON A.EVENT_NAME = sub.EVENT_NAME