У меня есть запрос следующим образом:Как я могу преобразовать этот 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
Первое, вероятно, это, но второе вернет счет. Но для примера, которому вы дали результат, будет значение null или 1. Поэтому, если запрос, в котором выполняется условие, вам действительно не нужен этот счет. –
Позвольте мне уточнить. У emp 4700 есть 500 дней посещения в его трудовой жизни. в соответствии со всеми условиями, второй результат запроса предполагает возврат количества посещений между 12/1 по 12/31. так что, полагаю, вернемся в лучшем случае менее 31 раз? но результат запроса - 500. Его общая посещаемость. что теперь? – Almaji