neeraj_ Ответов: 1

Вы пытались выполнить запрос не являющийся частью агрегатной функции


SELECT  a.staff,a.logiodate,a.LogInTime,a.LogOutTime,a.nodeid
 FROM (SELECT   NGAC_USERINFO.username AS Staff, Int([Logtime]) AS LogIODate, Format(Min(NGAC_LOG.logtime),"h:m:s") AS LogInTime, Format(Max(NGAC_LOG.logtime),"h:m:s") AS LogOutTime,nodeid 
FROM NGAC_LOG INNER JOIN NGAC_USERINFO ON NGAC_LOG.userid = NGAC_USERINFO.userid WHERE ( NGAC_LOG.nodeid=1 AND ((Int([logtime])) Between  #21/09/2016# And #21/09/2016 23:59:59#)) 
GROUP BY  NGAC_USERINFO.username, NGAC_LOG.Userid, Int([Logtime]), Int([Logtime]), nodeid ) AS A
 INNER JOIN NGAC_TERMINAL ON A.nodeid=NGAC_TERMINAL.nodeid 
group by staff,logiodate,LogInTime,LogOutTime,a.nodeid
having LogInTime>'9:45:00'


Что я уже пробовал:

пожалуйста, помогите
заранее спасибо

1 Ответов

Рейтинг:
10

Bernhard Hiller

Ваш запрос объединяет два запроса select. Только внутренний запрос использует "агрегатные" функции (например, Min, Max, Sum, Avg, Count), поэтому только внутренний запрос должен иметь GROUP BY пункт.
Сам внешний запрос не использует никаких агрегатных функций, он отображает только агрегатные значения, вычисленные внутренним запросом. Следовательно, он не должен иметь GROUP BY пункт. Вы можете опустить его или заменить на ORDER BY пункт.


neeraj_

спасибо сэр все сделано

Maciej Los

5ед!