2011-05-23 80 views
0

我有两个表,Ticket和Job,都有一个ClientId字段和一个TimeSpent字段。两个查询之和HQL

我使用HQL,可以从一个表中获得TimeSpent的总和,但我不知道如何从多个表中获取它,因为HQL没有UNION

这是我使用的那一刻是什么:

SELECT SUM(j.TimeSpent) FROM Job j WHERE j.ClientId = :clientId 
+0

是否有任何理由不能执行两个查询并将结果添加到一起? – Gabe 2011-05-23 07:14:22

+0

试图将其全部整齐地保存在一个查询中。这是更大的查询的一部分 – Harold 2011-05-23 07:15:17

回答

0

这听起来像你只是想加起来两套倍。您应该能够将其用作较大查询中的表达式:

 (SELECT SUM(j.TimeSpent) FROM Job j WHERE j.ClientId = :clientId) 
    + (SELECT SUM(t.TimeSpent) FROM Ticket t WHERE t.ClientId = :clientId) 
+0

当我尝试这个问题时,我得到了一个没有左手侧错误的DOT节点。任何想法如何补救? – Harold 2011-05-23 07:26:57

+0

@Harold:您应该发布一个完整的查询并完成错误消息。 – Gabe 2011-05-23 07:52:30