Codeigniter group by, если поле не является пустым - PullRequest
0 голосов
/ 06 сентября 2018

У меня следующий запрос:

$this->db->select('SUM(cost_price) AS cost_price,SUM(cost_price) AS total,employees.username AS staff_name');
        $this->db->from('items');
        $this->db->join('customers', 'customers.person_id = items.customer_id');
        $this->db->join('employees', 'employees.person_id = items.staff_id');
        $this->db->join('people', 'people.person_id = customers.person_id');
 $this->db->group_by('items.is_serialized');

В таблице элементов у меня есть поле is_serialized, я хочу сгруппировать все строки, имеющие значение в поле is_serialized, но не группу, если строка имеет значение NULLМожно ли будет сделать это, используя мой запрос?

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Используйте функцию "CASE" в выражении group by, чтобы проверять только ненулевые значения.

Например:

 $this->db->group_by("CASE WHEN items.is_serialized IS NOT NULL THEN items.is_serialized END",FALSE);
0 голосов
/ 06 сентября 2018

Поместите ниже, где условие для группировки по is_serialized

$this->db->where('items.is_serialized IS NOT NULL');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...