Php CodeIgniter活动记录用于比较同一mysql表的两列
我将直接切入要点 我的桌子看起来像这样Php CodeIgniter活动记录用于比较同一mysql表的两列,php,codeigniter,Php,Codeigniter,我将直接切入要点 我的桌子看起来像这样 CREATE TABLE user_orders(id INT(11), o_name VARCHAR(60), amount INT(10), discount INT (10), overall INT(10)); INSERT INTO user_orders(id,o_name,amount,discount,overall) VALUES (1,'first', 10,0,10); INSERT INTO user_orders(id,o_nam
CREATE TABLE user_orders(id INT(11), o_name VARCHAR(60), amount INT(10), discount INT (10), overall INT(10));
INSERT INTO user_orders(id,o_name,amount,discount,overall) VALUES (1,'first', 10,0,10);
INSERT INTO user_orders(id,o_name,amount,discount,overall) VALUES (2,'second', 20,20,40);
INSERT INTO user_orders(id,o_name,amount,discount,overall) VALUES (3,'third', 0,0,0);
INSERT INTO user_orders(id,o_name,amount,discount,overall) VALUES (4,'fourth', 40,40,80);
这就是我想得到的:
SELECT * FROM user_orders
WHERE amount=discount
AND amount!=0 AND discount!=0;
当金额
和折扣
字段相同且不等于零时,我试图从表中获取数据
所以我用CI写了这个
$this->db->select('count( id ) AS total_discounted',FALSE);
$this->db->where('amount','discounts');
$this->db->where('discounts !=',0);
$this->db->where('amount !=',0);
$results=$this->db->get('user_orders');
echo $this->db->last_query();
这将生成查询
SELECT * FROM user_orders
WHERE amount='discount'
AND amount!=0 AND discount!=0;
其中金额与字符串“折扣
”进行比较,而不是与字段折扣
进行比较
如何使用CI实现这类事情?有什么线索吗?试试这个:
$where = "amount=discount";
$this->db->where($where);
试试$this->db->where('amount=折扣')代码>在代码点火器3中:
$this->db->where('amount', 'discount', false);
第三个参数将。尝试$this->db->where('amount=discount')代码>这起作用了。请把它作为答案贴出来@DishaV.错误号:1054“where子句”中的未知列“金额=折扣”选择计数(id)作为(用户订单
)中的折扣总额,其中金额=折扣
谢谢。这节省了我的时间。