Как использовать CASE в MySQL, используя CodeIgniter с объединениями - PullRequest
0 голосов
/ 01 октября 2018

Я использую CodeIgniter,

Я могу экспортировать данные.У меня есть столбец под названием «статус» в листе Excel.В столбце status я получаю 1,0,0,1,-1,2.

Теперь мне нужно отобразить имя строки в листе Excel как.

-1="Pending"
 0="Cancel"
 1="Create"
 2="Verified"

Я знаю, что должен использовать CASE но я не знаю, как использовать с Codeignator.

Я пробовал код ниже.

$this->db->select('tbl_customer.*,tbl_customer_shipping.*,product_order.*, CASE 
WHEN product_order.o_order_status =-1    THEN "Pending" 
WHEN product_order.o_order_status =0    THEN "Cancel"
WHEN product_order.o_order_status =1    THEN "Create"
ELSE "Verified"
END CASE');
$this->db->from('tbl_customer');
$this->db->join('tbl_customer_shipping', 'tbl_customer.cust_id=tbl_customer_shipping.cust_id', 'LEFT');
$this->db->order_by('product_order.o_date_of_added','DESC');

$query = $this->db->get();
$result = $query->result();

Но он не работает

Я получаю синтаксическую ошибку

Message: syntax error, unexpected 'CASE' (T_CASE)

Не могли бы вы помочь мне в этом?

Наконец-то я нашел Мое решение.Я забыл добавить имя столбца в конце регистра и использовал двойную кавычку.

$this->db->select("tbl_customer.*,tbl_customer_shipping.*,product_order.*,CASE 
    WHEN product_order.o_order_status =-1    THEN 'Pending'
    WHEN product_order.o_order_status =0    THEN 'Cancel'
    WHEN product_order.o_order_status =1    THEN 'Create'
    ELSE 'Verified'
END as o_order_status");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...