【发布时间】:2020-02-25 04:44:45
【问题描述】:
我有一些这样的查询:
$this->db->query("SELECT `no_request`,`date_in`,`location`,`d_point`,`username`,SUM(request.`persen`) AS 'Persen',
CASE
WHEN SUM(Persen) = 0 THEN 'Pending'
WHEN SUM(persen) = 100 THEN 'Complete'
WHEN SUM(persen) > 0 AND SUM(persen) < 100 THEN 'On Process'
END AS 'states'
FROM request WHERE `location` = '$lokasi' GROUP BY `no_request`
HAVING
CASE
WHEN `Persen` = 0 THEN `states` = 'Pending'
END", TRUE)->result_array();
我想从 codeigniter 生成原始查询,但我的查询有一些问题:
$this->db->select($this->fetching_column);
$this->db->select_sum($this->persen);
$this->db->select("
CASE
WHEN SUM('persen') = 0 THEN 'Pending'
WHEN SUM('persen') = 100 THEN 'Complete'
WHEN SUM('persen') > 0 SUM('persen') < 100 THEN 'On Process'
END", FALSE);
$this->db->from($this->table);
$this->db->where($this->location . ' = ' . $location);
$this->db->group_by($this->group);
$result = $this->db->get();
我的查询有误吗?或者我不能在$this->db->select() 中使用case
【问题讨论】:
标签: sql codeigniter