【发布时间】:2017-11-19 11:05:34
【问题描述】:
我正在尝试执行此查询,它在 phpMyAdmin 中有效,但在我的方法中却没有,它给了我这个异常
expecting IDENT, found ''[Under 18]'': line 1:53: expecting IDENT, found ''[Under 18]''
这是我的方法:
public List<Object[]> getTranche() {
List<Object[]> list;
Query req = em.createQuery("SELECT SUM(CASE WHEN age < 18 THEN 1 ELSE 0 END) AS '[Under 18]', SUM(CASE WHEN age BETWEEN 18 AND 24 THEN 1 ELSE 0 END) AS '[18-24]', SUM(CASE WHEN age BETWEEN 25 AND 34 THEN 1 ELSE 0 END) AS '[25-34]' FROM Contrat ");
return (List<Object[]>) req.getResultList();
}
请帮忙
【问题讨论】:
-
我不知道 MySQL 在这方面是否相同,但是在 SQL Server 中,您不会将方括号括在单引号中:
AS [Under 18], SUM...会很好