You are trying to JOIN tbl_leavetype to tbl_leave, but tbl_leave is OUTER JOINed to tbl_employeeYou could use an OUTER JOIN for tbl_leavetype, or (if it is required IF and ONLY IF rows are present in tbl_leave) you could use the JOIN syntax instead of the "*=" syntax and bracket the syntaxSELECT e.emp_id, e.emp_name, l.l_id,l.l_datefrom,l.l_dateto,l.l_timesum,t.lt_nameFROM tbl_employee e LEFT OUTER JOIN tbl_leave l ON l.emp_id = e.emp_id LEFT OUTER JOIN tbl_leavetype t ON t.lt_id = l.lt_idorSELECT e.emp_id, e.emp_name, l.l_id,l.l_datefrom,l.l_dateto,l.l_timesum,t.lt_nameFROM tbl_employee e LEFT OUTER JOIN (tbl_leave l ON l.emp_id = e.emp_id JOIN tbl_leavetype t ON t.lt_id = l.lt_id)
(heopfully I've got my brackets in the right place!)Kristen