FULL JOIN Error - (ORA-03113: end-of-file on communication channel)
Hello,
well my following query is running fine, no errors but not showing join records from table B and E.
Query is as following:
SELECT D.EMPLOYEE_ID, F.EMP_NAME,
F.COMPANY_ID, F.COMP_NAME, F.BRANCH_ID, F.BR_NAME,
TO_CHAR(F.BIRTH_DATE,'DD/MM/YYYY') DOB,
((NVL(A.PF_OWN,0) + NVL(A.PF_COMP,0) + NVL(A.PROF_OWN,0) + NVL(A.PROF_COMP,0) + NVL(B.PROF_OWN,0) +
NVL(B.PROF_COMP,0) + NVL(B.TOT_PF_OWN,0) + NVL(B.TOT_PF_COMP,0) +
NVL(D.SAL_PF_OWN,0) + NVL(D.SAL_PF_COMP,0) -
(NVL(E.REV_PF_OWN,0) + NVL(E.REV_PF_COMP,0) + NVL(C.WD_PF_OWN,0) + NVL(C.WD_PF_COMP,0) +
NVL(C.WD_PROF_OWN,0) + NVL(C.WD_PROF_COMP,0)))) PF_BALANCE
FROM
(SELECT EMPLOYEE_ID, SUM(PF_OWN) SAL_PF_OWN, SUM(PF_COMP) SAL_PF_COMP
FROM EMPLOYEE.EMP_SAL_DETAILS
WHERE SAL_DATE >= (SELECT MAX(AS_ON_DATE) FROM EMPLOYEE.EMP_PF_OPBALS WHERE AS_ON_DATE <= '01-DEC-06')
AND SAL_DATE <= '01-DEC-06'
GROUP BY EMPLOYEE_ID) D
LEFT JOIN
(SELECT EMPLOYEE_ID, PF_OWN, PF_COMP, PROF_OWN, PROF_COMP
FROM EMPLOYEE.EMP_PF_OPBALS
WHERE AS_ON_DATE IN (SELECT MAX(AS_ON_DATE) FROM EMPLOYEE.EMP_PF_OPBALS WHERE AS_ON_DATE <= '01-DEC-06')) A
ON (D.EMPLOYEE_ID = A.EMPLOYEE_ID)
LEFT JOIN
(SELECT EMPLOYEE_ID, SUM(TOT_PF_OWN) TOT_PF_OWN, SUM(TOT_PF_COMP) TOT_PF_COMP, SUM(PROF_OWN) PROF_OWN, SUM(PROF_COMP) PROF_COMP
FROM EMPLOYEE.EMP_PF_PROF_DETAILS WHERE END_DATE >= (SELECT MAX(AS_ON_DATE) FROM EMPLOYEE.EMP_PF_OPBALS WHERE AS_ON_DATE <= '01-DEC-06')
GROUP BY EMPLOYEE_ID) B
ON (D.EMPLOYEE_ID = B.EMPLOYEE_ID)
LEFT JOIN
(SELECT EMPLOYEE_ID, SUM(PF_OWN) WD_PF_OWN, SUM(PF_COMP) WD_PF_COMP, SUM(PROF_OWN) WD_PROF_OWN, SUM(PROF_COMP) WD_PROF_COMP
FROM EMPLOYEE.EMP_PF_WITHDRAWALS WHERE PF_WDRAW_DATE >= (SELECT MAX(AS_ON_DATE) FROM EMPLOYEE.EMP_PF_OPBALS WHERE AS_ON_DATE <= '01-DEC-06')
GROUP BY EMPLOYEE_ID) C
ON (D.EMPLOYEE_ID = C.EMPLOYEE_ID)
LEFT JOIN
(SELECT EMPLOYEE_ID, SUM(PF_OWN) REV_PF_OWN, SUM(PF_COMP) REV_PF_COMP
FROM EMPLOYEE.EMP_SAL_REVERSALS
WHERE SAL_DATE >= (SELECT MAX(AS_ON_DATE) FROM EMPLOYEE.EMP_PF_OPBALS WHERE AS_ON_DATE >= '01-DEC-06')
AND SAL_DATE <= '01-DEC-06'
GROUP BY EMPLOYEE_ID) E
ON (D.EMPLOYEE_ID = E.EMPLOYEE_ID)
LEFT JOIN
(SELECT EMPLOYEE_ID, COMPANY_ID, COMP_NAME, BRANCH_ID, BR_NAME, EMP_NAME, BIRTH_DATE, CONF_DATE FROM V_SEL_SYS_EMP) F
ON (D.EMPLOYEE_ID = F.EMPLOYEE_ID)
ORDER BY D.EMPLOYEE_ID
-------------------------------------------------------------------------------------------------
And when i try to full join my tables and replace LEFT JOIN with FULL OUTER JOIN following errors accurs:
(ORA-03113: end-of-file on communication channel) and oracle gets disconnect.
Query will only show records its tables are FULL JOINED.
Please help what is the solution. Its very urgent also.
I am thankful to you.
Regards,
Imran