我有一個問題讓這個JPA查詢MS SQL Server上運行2008排序方式一欄,這不是在GROUP BY或Enapsulated在聚合
背景如下:用戶爲客戶創造就業機會,其中有很多。我向用戶顯示他最近使用的客戶端列表,以使選擇更容易。
SELECT DISTINCT c FROM Client c
JOIN c.jobs j
WHERE j.user = ?1
ORDER BY j.created DESC
該查詢工作得很好 - 使用MySQL。 MS SQL Server(2008)抱怨說我不能按j.created
排序,因爲它不是選擇列表的一部分。這是錯誤消息:
ORDER BY項目必須出現在 選擇列表中,如果SELECT DISTINCT是指定 。
我似乎無法找到這個限制的優雅解決方法。有人有想法嗎?
您的JOINing條款在哪裏?這會給你每行的c鏈接到每一行匹配你參數的j。 – MartW 2009-12-17 17:22:34
@CodeByMoonlight:不,這是JPA查詢語言,不是SQL。 「JOIN c.jobs」是完整連接子句。 – Henning 2009-12-17 17:24:22
啊,有趣。不能說我喜歡與SQL的虛幻相似。 – MartW 2009-12-17 17:27:28