select
SUBSTRING('0000000000' ,1, 10 - LEN( CONVERT (VARCHAR, CONVERT(INT, ISNULL(SUM(I.EduAmnt), 0) + ISNULL(K.PersonEduExp, 0) +ISNULL( K.DisabledExp, 0) - @Bu_Education - @Bu_EducationEtc)))) + CONVERT (VARCHAR ,CONVERT(INT, ISNULL(SUM(I.EduAmnt), 0) + ISNULL(K.PersonEduExp, 0) +ISNULL( K.DisabledExp, 0) - @Bu_Education - @Bu_EducationEtc))
FROM #CRecord C
LEFT JOIN TmInfoMaster B ON B.SiteCode = @SiteCode AND B.PropertyCode = '112' AND @calYear+'1231' BETWEEN B.StartDate AND B.EndDate
LEFT JOIN SiteMaster D ON B.SiteCode = D.SiteCode
LEFT JOIN hrSettlementMaster K ON C.EmpCode = K.EmpCode
LEFT JOIN (
SELECT A.EmpCode, ISNULL(A.DisabledNum, 0) AS DisabledNum, ISNULL(B.DisableCnt, 0) AS DisableCnt
FROM hrSettlementMaster A
LEFT JOIN (
SELECT SiteCode, EmpCode, SettleDate, COUNT(DisableDeduction) AS DisableCnt
FROM hrSupportFamily
WHERE SiteCode = @SiteCode AND SettleDate = @calYear AND DisableDeduction = 'Y'
GROUP BY SiteCode, EmpCode, SettleDate
) B ON B.SiteCode =@SiteCode AND A.EmpCode = B.EmpCode AND A.DefineYear = B.SettleDate+'12'
WHERE A.ComCode = @ComCode AND A.DefineYear = @calYear + '12' AND A.EmpCode = @EmpCode AND ISNULL(A.DisabledNum, 0) > ISNULL(B.DisableCnt, 0) AND A.EmpCode = @EmpCode--and A.SettleGubun = N'200'
) E ON C.EmpCode = E.EmpCode
================================================================================================================================
hrSettlementMaster 테이블에서 필요한 데이트를 select하기 위해서
LEFT JOIN hrSettlementMaster K ON C.EmpCode = K.EmpCode 부분을 추가를 했습니다.
그런데 실행을 하면
경고: 집계 또는 다른 SET 연산에 의해 Null 값이 제거되었습니다.
서버: 메시지 512, 수준 16, 상태 1, 줄 1
하위 쿼리에서 값을 둘 이상 반환했습니다. 하위 쿼리 앞에 =, !=, <, <= , >, >= 등이 오거나 하위 쿼리가 하나의 식으로 사용된 경우에는 여러 값을 반환할 수 없습니다.
문이 종료되었습니다.
에러가 발생합니다.
밑에 hrSettlementMaster A 이테일블과 출동나는거 같은데 어떻게 할 방법이 없을까요?
|