2014-02-15 126 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。 。 。你應該問另一個問題。它總是有助於獲得樣本數據和期望的結果。 –