2014-03-01 105 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执行查询,它就会起作用。

相关问题