sql >> Database teknologi >  >> RDS >> Mysql

Codeigniter, Join og Case When Query

brug alias til at forenkle

$sql ="SELECT [specific column names ] FROM `osp_job_details` jd
    LEFT JOIN
            `osp_job_status_track` jst ON (`jst`.`JobID` = `jd`.`JobID`)
    LEFT JOIN
            `osp_job_status` js ON (`js`.`StatusID` = `jst`.`StatusID`)
    LEFT JOIN
            `osp_job_sub_status` jss ON (`jss`.`SubStatusID` = `jst`.`SubStatusID`)
    LEFT JOIN
            `hr_employee_details` hed ON (`hed`.`EmployeeID` = `jd`.`AssignToEmployeeID`)
    LEFT JOIN
            `osp_job_type` jt ON (`jt`.`JobTypeID` = `jd`.`JobtypeID`)

    WHERE `isDefault` = '0' 
     AND CASE 
                WHEN `js`.`StatusID` = '2' THEN  `jss`.`CurrentStatus` = '3'
                ELSE `jd`.`StatusID` >= '2'
            END ";
  $this->db->query($qry);

BEMÆRK: ombryd kolonnenavn og tabelnavn med ` ikke med ' og også når der refereres til tabelnavn. kolonnenavn udelad prikken . fra \

brug `tablename `.`column_name `



  1. MySQL Workbench meget hurtigere end Python for den samme forespørgsel

  2. Hvad er SYSNAME-datatypen i SQL Server?

  3. 'IF' i 'SELECT'-sætning - vælg outputværdi baseret på kolonneværdier

  4. Sådan krypteres data i Oracle ved hjælp af PL SQL