2014-02-15 70 views
0

感谢你们为您的时间和帮助,我有这个MySQL SQLHibernate的标准总结

SELECT 
IFNULL(SUM(IF((P_P LIKE 'P%'), 1, 0)), 0) AS numIn, 
IFNULL(SUM(IF((P_A LIKE 'A%'), 1, 0)), 0) AS numOut 
FROM PA_DATE 

我试试这HQL

SELECT 
COALESCE(SUM(IF((P_P LIKE 'P%'), 1, 0)), 0) AS numIn, 
COALESCE(SUM(IF((P_A LIKE 'A%'), 1, 0)), 0) AS numOut 
FROM PaDate 

我得到错误:

java.lang.NullPointerException 
at org.hibernate.dialect.Dialect$3.getReturnType(Dialect.java:102) 

我必须检查?

回答

1

我不认为HQL支持if()作为一项功能。以下应在两个数据库工作:

SELECT SUM(case when P_P LIKE 'P%' then 1 else 0 end) AS numIn, 
     SUM(case when P_A LIKE 'A%' then 1 else 0 end) AS numOut 
FROM PaDate 
+0

好,我知道了,谢谢您的时间和帮助Ø必须为你的时间再次使用的情况下这种类型的感谢条件的时候,帮助 – Chacaman

+0

一个问题我怎么可以添加第二个表中的总和? – Chacaman

+0

@Chacaman。 。 。你应该问另一个问题。它总是有助于获得样本数据和期望的结果。 –