我有两个表,Ticket和Job,都有一个ClientId字段和一个TimeSpent字段。两个查询之和HQL
我使用HQL,可以从一个表中获得TimeSpent的总和,但我不知道如何从多个表中获取它,因为HQL没有UNION
。
这是我使用的那一刻是什么:
SELECT SUM(j.TimeSpent) FROM Job j WHERE j.ClientId = :clientId
我有两个表,Ticket和Job,都有一个ClientId字段和一个TimeSpent字段。两个查询之和HQL
我使用HQL,可以从一个表中获得TimeSpent的总和,但我不知道如何从多个表中获取它,因为HQL没有UNION
。
这是我使用的那一刻是什么:
SELECT SUM(j.TimeSpent) FROM Job j WHERE j.ClientId = :clientId
这听起来像你只是想加起来两套倍。您应该能够将其用作较大查询中的表达式:
(SELECT SUM(j.TimeSpent) FROM Job j WHERE j.ClientId = :clientId)
+ (SELECT SUM(t.TimeSpent) FROM Ticket t WHERE t.ClientId = :clientId)
是否有任何理由不能执行两个查询并将结果添加到一起? – Gabe 2011-05-23 07:14:22
试图将其全部整齐地保存在一个查询中。这是更大的查询的一部分 – Harold 2011-05-23 07:15:17