我有一個查詢,如下所示:我怎麼能這個SQL轉換爲HQL查詢
WITH CTE AS (
SELECT MIN(att.Date) [minDate]
FROM Attendance att
WHERE att.Date between '12/01/2011 00:00:00'
AND '12/31/2011 00:00:00'
AND att.EmpID = 4700
GROUP BY EmpID, CONVERT(VARCHAR, att.Date , 111)
HAVING MIN(CONVERT(VARCHAR, att.Date , 8)) > '09:00:00')
SELECT COUNT(minDate) FROM CTE
我需要一個C#應用程序使用它,但我不能只使用查詢,因爲它說,查詢必須以select或from關鍵字開頭。我需要此查詢才能在HQL
中工作。請幫忙。
工作是,EMPID是uniq的。並非常感謝您的幫助。但查詢結果將隨該empID的所有行而出現,而不考慮所有條件。我只需要計算出現在你的第一個查詢中的行。 plz幫助。 – Almaji 2012-02-04 09:54:35
第一個可能會這樣做,但第二個會返回計數。但是對於你給出的例子,結果將是null或1.因此,如果查詢的條件是正確的,你根本不需要那麼多的計數。 – 2012-02-04 13:55:06
讓我詳細說明。 emp 4700在他的工作生涯中有500天的參與。根據所有條件,第二個查詢結果假設返回的出勤次數在12/1到12/31之間。所以它假設返回最好不到31?但查詢結果是500.他的總出席人數。怎麼辦? – Almaji 2012-02-04 20:52:55