查询语句在Navicat可以运行,在idea中运行报错

Navicat查询语句:

SELECT oi.category_id1 , oi.category_id2 ,oi.category_id3 , DATE_FORMAT(o.pay_time,'%Y-%m-%d')  count_date , SUM(oi.num) num ,SUM(oi.pay_money) money 
FROM tb_order o, tb_order_item oi 
WHERE o.id = oi.order_id AND o.pay_status='1' AND o.is_delete ='0' AND DATE_FORMAT(o.pay_time,'%Y-%m-%d') = '2021-05-25'   
GROUP BY oi.category_id1 , oi.category_id2 ,oi.category_id3 , DATE_FORMAT(o.pay_time,'%Y-%m-%d') ;

idea中代码:


public interface CategoryReportMapper extends Mapper<CategoryReport> {


    @Select(
            "SELECT oi.category_id1 , oi.category_id2 ,oi.category_id3 , DATE_FORMAT(o.pay_time,'%Y-%m-%d')  count_date , SUM(oi.num) num ,SUM(oi.pay_money) money"  +
            "FROM tb_order o, tb_order_item oi "  +
            "WHERE o.id = oi.order_id AND o.pay_status='1' AND o.is_delete = '0' AND DATE_FORMAT(o.pay_time , '%Y-%m-%d') = '2021-05-25'   "  +
            "GROUP BY oi.category_id1 , oi.category_id2 ,oi.category_id3 , DATE_FORMAT(o.pay_time,'%Y-%m-%d') "
    )
    public List<CategoryReport> CategoryReport();
}

报错内容:

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 'tb_order o, tb_order_item oi WHERE o.id = oi.order_id AND o.pay_status='1' AND o' at line 1

 

为什么要这样写呢,sql不是写在xmll文件里面吗