mysql - codeigniter查询问题

标签 mysql codeigniter activerecord

我有这个查询:

$this->db->select('COUNT(tran_ID) AS count, CASE WHEN MONTH(days)>=4 THEN concat(YEAR(days), "-", YEAR(days)+1) ELSE concat(YEAR(days)-1, "-", YEAR(days)) END AS format_date,product_class AS saleCol');

我在

上遇到语法错误
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHEN MONTH(days)>=4 THEN concat(YEAR(days), `"-"`, YEAR(days)+1) ELSE concat(YEA' at line 1

SELECT COUNT(tran_ID) AS count, `CASE` WHEN MONTH(days)>=4 THEN concat(YEAR(days), `"-"`, YEAR(days)+1) ELSE concat(YEAR(days)-1, `"-"`, YEAR(days)) END AS format_date, `product_class` AS saleCol FROM (`transactions`) WHERE `trans_type` = 'E' AND `product_class` != '0' GROUP BY `format_date`, `product_class`

最佳答案

尝试此查询,在 select 语句中添加 FALSE 作为第二个参数

$this->db->select(
                  'COUNT(tran_ID) AS count, 
                   CASE WHEN MONTH(days)>=4 THEN concat(YEAR(days), "-", YEAR(days)+1)
                     ELSE concat(YEAR(days)-1, "-", YEAR(days)) 
                   END AS format_date,
                   product_class AS saleCol',FALSE);

关于mysql - codeigniter查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14254188/

相关文章:

php - Mysql查询到平均时间

mysql - 拒绝连接到生产中的数据库但不是本地的

ruby-on-rails - 将(稍微复杂的)原始 SQL 查询转换为 ActiveRecord/Arel?

ruby-on-rails - ActiveRecord::UnknownAttributeError in UserController#create

mysql - 删除 MySQL 中的非字母数字

mysql - 重新启动 mysql 时刷新 mysql-relay-bin 日志文件

mysql - 简化MySQL查询以删除Where语句中的多选

php - 如何在 CodeIgniter 中将 HTML、PHP 内容插入数据库

javascript - 使用数据表jquery在codeigniter中"Undefined table data"

ruby-on-rails - 如何在事件记录 where 子句中使用通配符同时防止 sql 注入(inject)