php - 如何在codeigniter中不同表的两列之间使用逻辑运算符?

标签 php mysql codeigniter

如何在 CI 中不同表的两列之间使用逻辑运算符?

我必须检查如下条件:

$this->db->select('tbl.id ')
    ->from('tbl')
    ->join('table','tbl.company_id = table.company_id')
    ->where('tbl.maxprice >=table.maxprice')
    ->where('tbl.minprice <= table.minprice')
    ->order_by('tbl.date')
    ->get()
    ->row_array();

它显示错误:未知列表.maxprice

如何解决这个问题?谢谢。

最佳答案

如果您的表名称确实是table,那么您不应该使用,因为某些关键字是供应商特定的保留关键字,并且 table 是保留关键字,现在您可以按如下方式重写查询

$this->db->select('t.id ')
    ->from('tbl t')
    ->join('table t1', 't.company_id = t1.company_id') /* best is to change your table name from table to something else */
    ->where('t.maxprice >= t1.maxprice')
    ->where('t.minprice <= t1.minprice')
    ->order_by('t.date')
    ->get()
    ->row_array();

关于php - 如何在codeigniter中不同表的两列之间使用逻辑运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25282351/

相关文章:

PHP 无法从 mysql 查询获取列名

Php数组通过键值对将元素移动到另一个位置

mysql - Sphinx 和 "did you mean ... ?"建议思路。它会起作用吗?

php - Codeigniter - 重命名 Controller 301 重定向旧 url

codeigniter - 一次显示所有 session 数据?

php - 如何重写 url 以删除?id=13

php - 来自 json feed 的全日历开始结束时间

mysql - 我的架构中有超过 300 个表,我需要运行截断命令

mysql - 如何连接 MySQL 3 表以过滤正确的结果

php - 如何将购物车表记录复制到另一个表中?