2014-03-01 63 views
0

工作,我有一個查詢如下:查詢工作在MySQL,但它並沒有在Java

select(SELECT sum(Frequency) FROM omid.entity_epoch_data where DataitemType=0 and 
EntityID in(SELECT EntityID FROM omid.entity where PartyID=2) and EpochID in(
    SELECT ID FROM omid.epoch where StartDateTime>='2013-11-01' and EndDateTime<='2013-11-30'))/ 
    (select count(*) from omid.entity where PartyID=2); 

,當我在我的SQL運行它,它的工作原理,但是當我在Java運行它,我得到一些SQL錯誤。 我的代碼是真正建立起來的,因爲當我用別的東西代替這個查詢時,它的工作原理就是這樣,它表明使用這個查詢的邏輯有些問題

任何人都可以幫忙嗎?

+2

這將有助於如果你可以說出什麼錯誤你得到:) – xp500

+0

謝謝,它說未知的錯誤,但是這個問題發生的線是:rset = stmt.executeQuery(); –

+0

我們能否看到實際的Java代碼? – JayDM

回答

0

它看起來像你試圖找到某種平均。

但是,這個單選非常複雜,我相信你和任何追隨你的人都不會輕易弄清楚你正在嘗試做什麼。

將其分解爲幾個較小的查詢並分別對它們進行編碼。

然後在Java中計算您的平均值,而不是構建這個過於複雜的查詢。

或者,從Java中創建一個存儲函數並調用它,因爲如果您從MySQL執行查詢,它就會起作用。

相關問題