title: Codeigniter, Join and Case When Query
body: <p>Trying to Execute this query.</p>
  
  <pre><code>$sql ="SELECT '*' FROM
              'osp_job_details'
                  LEFT JOIN
              'osp_job_status_track' ON 'osp_job_status_track'.'JobID' = 'osp_job_details'.'JobID'
                  LEFT JOIN
              'osp_job_status' ON 'osp_job_status'.'StatusID' = 'osp_job_status_track'.'StatusID'
                  LEFT JOIN
              'osp_job_sub_status' ON 'osp_job_sub_status'.'SubStatusID' = 'osp_job_status_track'.'SubStatusID'
                  LEFT JOIN
              'hr_employee_details' ON 'hr_employee_details'.'EmployeeID' = 'osp_job_details'.'AssignToEmployeeID'
                  LEFT JOIN
              'osp_job_type' ON 'osp_job_type'.'JobTypeID' = 'osp_job_details'.'JobtypeID'
              WHERE 'isDefault' = 0 AND
  
              CASE WHEN 'osp_job_status'.'StatusID' = '2'
              THEN  'osp_job_sub_status'.'CurrentStatus' = '3'
              ELSE 'osp_job_status'.'StatusID' &gt;= '2'
                  END;";
  
          $query = $this-&gt;db-&gt;query($sql);
          return $query-&gt;result();
  </code></pre>
  
  <p>But i am getting this below error on running the above query.</p>
  
  <pre><code>Error Number: 1064
  
  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''osp_job_details' LEFT JOIN 'osp_job_status_track'' at line 2
  
  SELECT '*' FROM 'osp_job_details' LEFT JOIN 'osp_job_status_track' ON 'osp_job_status_track'.'JobID' = 'osp_job_details'.'JobID' LEFT JOIN 'osp_job_status' ON 'osp_job_status'.'StatusID' = 'osp_job_status_track'.'StatusID' LEFT JOIN 'osp_job_sub_status' ON 'osp_job_sub_status'.'SubStatusID' = 'osp_job_status_track'.'SubStatusID' LEFT JOIN 'hr_employee_details' ON 'hr_employee_details'.'EmployeeID' = 'osp_job_details'.'AssignToEmployeeID' LEFT JOIN 'osp_job_type' ON 'osp_job_type'.'JobTypeID' = 'osp_job_details'.'JobtypeID' WHERE 'isDefault' = 0 AND CASE WHEN 'osp_job_status'.'StatusID' = '2' THEN 'osp_job_sub_status'.'CurrentStatus' = '3' ELSE 'osp_job_status'.'StatusID' &gt;= '2' END;
  
  Filename: C:\xampp\htdocs\projects\zorkif_new\system\database\DB_driver.php
  
  Line Number: 330
  </code></pre>
  
  <p>Can Anyone tell what is wrong in my query and how to solve it?</p>
  
  <p>++++++++++++++++++++++++++++++++++++++++++++++++
  Update:</p>
  
  <p>Removed the Single Quotes</p>
  
  <pre><code>$sql ="SELECT * FROM
      osp_job_details
          LEFT JOIN
      osp_job_status_track ON osp_job_status_track.JobID = osp_job_details.JobID
          LEFT JOIN
      osp_job_status ON osp_job_status.StatusID = osp_job_status_track.StatusID
          LEFT JOIN
      osp_job_sub_status ON osp_job_sub_status.SubStatusID = osp_job_status_track.SubStatusID
          LEFT JOIN
      hr_employee_details ON hr_employee_details.EmployeeID = osp_job_details.AssignToEmployeeID
          LEFT JOIN
      osp_job_type ON osp_job_type.JobTypeID = osp_job_details.JobtypeID
      WHERE isDefault = 0 AND
  
      CASE WHEN osp_job_status.StatusID = 2
      THEN  osp_job_sub_status.CurrentStatus = 3
      ELSE osp_job_status.StatusID &gt;= 2
          END;";
  </code></pre>
  
  <p>But getting this below error now..</p>
  
  <pre><code>Error Number: 1064
  
  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'isDefault` = 1 AND CASE WHEN `osp_job_status`.`StatusID` = 2 THEN `osp_job' at line 8
  
  SELECT `osp_job_details`.*, `osp_job_type`.`JobTypeName`, `status`, `Substatus`, `osp_job_status`.`StatusID`, `osp_job_sub_status`.`SubStatusID`, `FirstName`, `MiddleNames`, `LastName`, `hr_employee_details`.`EmployeeID`, `osp_job_status_track`.`StatusTrackID` FROM (`osp_job_details`) LEFT JOIN `osp_job_status_track` ON `osp_job_status_track`.`JobID` = `osp_job_details`.`JobID` LEFT JOIN `osp_job_status` ON `osp_job_status`.`StatusID` = `osp_job_status_track`.`StatusID` LEFT JOIN `osp_job_sub_status` ON `osp_job_sub_status`.`SubStatusID` = `osp_job_status_track`.`SubStatusID` LEFT JOIN `hr_employee_details` ON `hr_employee_details`.`EmployeeID` = `osp_job_details`.`AssignToEmployeeID` LEFT JOIN `osp_job_type` ON `osp_job_type`.`JobTypeID` = `osp_job_details`.`JobtypeID` WHERE ` ` isDefault` = 1 AND CASE WHEN `osp_job_status`.`StatusID` = 2 THEN `osp_job_sub_status`.`CurrentStatus` = 3 ELSE `osp_job_status`.`StatusID` &gt;= 2 END ;
  
  Filename: C:\xampp\htdocs\projects\zorkif_new\system\database\DB_driver.php
  
  Line Number: 330
  </code></pre>