2011-05-23 77 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