Reputation: 832
In this:
$this->db->select('count(o.id)');
$this->db->from('orders o');
$this->db->join('order_status_history', 'o.id = order_status_history.order_id');
$this->db->where("(order_status_history.in_dts)::date ='" .$reportDay. "'");
$this->db->where('order_status_history.new_status ' , 6);
I want select count(id) where order_status_history.new_status is a interval eg(2<=order_status_history.new_status<=6), no one single int. How make this in this sql?
Upvotes: 0
Views: 124
Reputation: 7240
What do you think about this:
$this->db->select('count(o.id)');
$this->db->from('orders as o');
$this->db->join('order_status_history', 'o.id = order_status_history.order_id');
$this->db->where("(order_status_history.in_dts)::date ='" .$reportDay. "'");
$this->db->where_between('order_status_history.new_status ',2 , 6);
Upvotes: 2
Reputation: 2019
As I Remember you can add Where statement as a string, like in a native sql query. Please, try this:
$this->db->select('count(o.id)');
$this->db->from('orders o');
$this->db->join('order_status_history', 'o.id = order_status_history.order_id');
$this->db->where("(order_status_history.in_dts)::date ='" .$reportDay. "'");
$this->db->where('order_status_history.new_status BETWEEN 2 AND 6');
Is This Working ?
Upvotes: 2