当前位置:  开发笔记 > 编程语言 > 正文

CodeIgniter Active Records比较同一个mysql表的两列

如何解决《CodeIgniterActiveRecords比较同一个mysql表的两列》经验,为你挑选了1个好方法。

我会直言不讳.

我的表看起来像这样

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;

SQL FIDDLE

我想从表中提取数据时域amountdiscount是相同的,不等于零.

所以使用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;

数量与THE STRING' discount' 相比而不是田地discount.

如何使用CI实现这一点?有线索吗?



1> 小智..:

尝试 $this->db->where('amount = discount');

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有