sql >> Databáze >  >> RDS >> Mysql

Codeigniter, Join a Case When Query

pro zjednodušení použijte alias

$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);

POZNÁMKA: zalamovat název sloupce a název tabulky znakem ` ne s ' a také při odkazování na název tabulky. název sloupce vyloučit tečku . z \

použijte `tablename `.`column_name `



  1. vrátit původní číslo řádku mySQL

  2. Datum a čas za hodinu po vložení. Letní čas

  3. Odstraňování problémů se vstupy/výstupy disku

  4. Místní dočasná tabulka v Oracle 10 (pro rozsah uložené procedury)