2012-10-29 52 views
1

我想在select語句中使用if運算符,使用executeQuery命令。 喜歡的東西:如果運算符在groovy sql select語句

def tmpRec = BankStatement.executeQuery("select SUM(IF(operation='CREDIT',cashAmount,-1*cashAmount)) from BankStatement group by portfolio,currency,code") 

去 但如果運營商不工作。

謝謝

回答

1

雖然我不知道Groovy的SQL做的,在大多數DBMS CASE語句用作條件語句。也許下面的工作:

def tmpRec = BankStatement.executeQuery("select SUM(CASE WHEN operation='CREDIT' THEN cashAmount ELSE (-1*cashAmount) END) from BankStatement group by portfolio,currency,code") 
+0

感謝羅恩,它的工作原理,我只是把-1 * cashAmount放在括號之間。非常感謝 – NiBE

+0

謝謝NiBE。我根據您的意見修改了答案,以包含括號。 –