我试图获得员工的总时间,然后将每行中的金额(行数是在成本中心中花费的时间)除以总计,以获得员工在成本中心花费的时间百分比 . 我不断收到错误'子查询返回超过1的值' .

如何正确编写子查询?

示例数据:EncounterDataID,EmployeeInformationID,LocationNum,CostCenterNum,TotalHoursWorked 18378,2063,024,001,20.25 18379,2063,001,047,0.75 18380,2063,024,002,0.50 18381,2063,024,013,19.00

代码是:SELECT TempEncounterData.EmployeeInformationID,
TempEncounterData.LocationNum,TempEncounterData.CostCenterNum,'TimeInCC',TempEncounterData.TotalHoursWorked,
cast(ROUND(TempEncounterData.TotalHoursWorked /(SELECT SUM(TempEncounterData.TotalHoursWorked)来自TempEncounterData AS SumHours,其中SumHours.EmployeeInformationID = TempEncounterData.EmployeeInformationID),3)AS Decimal(19,2))AS TotalPercentWorked,1,'import',getdate() ,'import',getdate()FROM SEMHC_Admin2018.dbo.TempEncounterData
JOIN SEMHC_Admin2018.dbo.TempEmployeeList ON TempEmployeeList.EmployeeInformationID = TempEncounterData.EmployeeInformationID JOIN SEMHC_Admin2018.dbo.EmployeeInformation ON EmployeeInformation.EmployeeInformationID = TempEmployeeList.EmployeeInformationID其中TempEncounterData.User_ID = stuff(suser_sname(),1,charindex('',suser_sname()), '')group by TempEncounterData.EmployeeInformationID,EmployeeInformation.ADP_ID,EmployeeInformation.Essentia_ID,TempEncounterData.LocationNum,TempEncounterData.CostCenterNum,TempEncounterData.TotalHoursWorked,TempEncounterData.EncounterDataID order by TempEncounterData.EmployeeInformationID,LocationNum,CostCenterNum

违规代码是:

SELECT 
SUM(TempEncounterData.TotalHoursWorked) from TempEncounterData  AS SumHours                                                
where SumHours.EmployeeInformationID = 
TempEncounterData.EmployeeInformationID