newphpbees Posted December 14, 2011 Share Posted December 14, 2011 Hi... I have a SELECT Statement to get the Rate and Hours per employee. $sql = "SELECT em.EMP_NO, em.STATUS, w.RATE, r.Hours FROM $ADODB_DB.employment AS em INNER JOIN $ADODB_DB.wage AS w ON em.EMP_ID = w.EMP_ID LEFT JOIN $PAYROLL.regular_sum_hours AS r ON em.EMP_NO = r.EMP_NO WHERE em.EMP_ID = '$currentEmpID'"; $RsEarnings = $conn2->Execute($sql); $Rate = $RsEarnings->fields['RATE']; $Hours = $RsEarnings->fields['Hours']; $Hours = substr($Hours, 0, 5); $Hours = str_replace(':', '.', $Hours); $Amount = $_POST["Amount"]; $Amount = round(($Hours/8)* $Rate, 2); and Now I revised it, because I need to add OT_Hours in Hours where the STATUS = 'OffSet'. here is the revised code: $sql = "SELECT em.EMP_NO, em.STATUS, w.RATE, r.Hours, o.OT_Hours, o.STATUS FROM $ADODB_DB.employment AS em INNER JOIN $ADODB_DB.wage AS w ON em.EMP_ID = w.EMP_ID LEFT JOIN $PAYROLL.regular_sum_hours AS r ON em.EMP_NO = r.EMP_NO LEFT JOIN $PAYROLL.ot_data AS o ON r.EMP_NO = o.EMP_NO WHERE em.EMP_ID = '$currentEmpID' AND o.STATUS = 'OffSet'"; $RsEarnings = $conn2->Execute($sql); $Rate = $RsEarnings->fields['RATE']; $Hours = $RsEarnings->fields['Hours']; $Offset = $RsEarnings->fields['OT_Hours']; $Hours = substr($Hours, 0, 5); $Hours = str_replace(':', '.', $Hours); $Hours = ($Hours + $Offset); $Amount = $_POST["Amount"]; $Amount = round(($Hours/8)* $Rate, 2); When I run this revised code I noticed that if the employee has no data in ot_data OT_Hours where STATUS = 'OffSet' the Rate and Hours will not displayed. I want it even the employee has no data on ot_data the Rate and Hours will still display.. I'm still find the solution for that. Any help is highly appreciated.. Thank you Link to comment https://forums.phpfreaks.com/topic/253129-problem-in-where-clause-from-select-statement/ Share on other sites More sharing options...
requinix Posted December 14, 2011 Share Posted December 14, 2011 Move the "OffSet" condition into the JOIN. Link to comment https://forums.phpfreaks.com/topic/253129-problem-in-where-clause-from-select-statement/#findComment-1297705 Share on other sites More sharing options...
newphpbees Posted December 14, 2011 Author Share Posted December 14, 2011 i already resolved it using this code: $sql = "SELECT em.EMP_NO, em.STATUS, w.RATE, r.Hours, o.OT_Hours, o.STATUS FROM $ADODB_DB.employment AS em INNER JOIN $ADODB_DB.wage AS w ON em.EMP_ID = w.EMP_ID LEFT JOIN $PAYROLL.regular_sum_hours AS r ON em.EMP_NO = r.EMP_NO LEFT JOIN $PAYROLL.ot_data AS o ON ( r.EMP_NO = o.EMP_NO AND o.STATUS = 'OffSet' ) WHERE em.EMP_ID = '$currentEmpID'"; Thank you Link to comment https://forums.phpfreaks.com/topic/253129-problem-in-where-clause-from-select-statement/#findComment-1297712 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.