2013-10-27 88 views
1

取决于我的情况,任何人都可以通过单个查询获得我的结果吗?我的情况是这样的。数据库查询和优化 - HQL

我有四张桌子,可以说HouseHold,HouseSurvey,HouseDailyExpense和CommodityList。

HouseSurvey有很多HouseHold,HouseDailyExpense有很多HouseSurvey和CommodityList。

我想实现的是每个HouseHolder的每个CommodityList的houseDailyExpense.expense的总和。

这是可能通过一个HQL查询实现的,因为它已经超过四个小时了,我一直在尝试并且无法通过完善的解决方案得出结论。

感谢您的帮助。

+2

你可以发布的东西,你已经尝试过?这是你最大的利益。 – Sid

+0

我尝试过使用连接,但是我最终可能会得到以下结果。 每HouseHouse和每个HouseHold HouseDailyExpense费用的总和。 --- 每个CommodityList的每个COmmodityList和HouseDailyExpense中的费用总和。 --- 但我想要的是每个HouseHold,所有商品清单的所有费用的总和 我希望它不会混淆 –

回答

0

像这样的事情

select hh, cl, sum(hde.expense) from HouseDailyExpense hde join hde.houseSurveys as hs join hde.commodityLists as cl join hs.houseHolds as hh 
group by hh, cl