vous avez essayé d'exécuter une requête qui ne comprennent pas l'expression spécifiée 'out_time" comme une fonction d'agrégation dans ms access

Im en utilisant Ms access comme ma base de données et je suis en utilisant la requête suivante pour obtenir le temps de travail:

select 
        in_time,
        out_time,
        datediff("n",b.in_time,c.out_time) as work_time,
        log_date,
        emp_id 
from 
    (select 
        LogTime as in_time,
        SrNo,
        LogID as emp_id,
        LogDate as log_date 
    from LogTemp 
    where Type='IN' ) as b
left join
    (select 
        SrNo as out_id, 
        LogTime as out_time,
        LogID as out_emp_id,
        LogDate as out_log_date 
      from LogTemp 
     where Type = 'OUT'
     group by SrNo) as c
on (b.SrNo <> c.out_id
    and b.emp_id = c.out_emp_id
    and b.log_date = out_log_date ) 
where  
    c.out_id > b.SrNo and 
    [log_date] >= #8/20/2012# and 
    [log_date] <= #8/20/2012# and 
    emp_id = "8" 
group by b.SrNo; 

Mais lorsque j'exécute la requête Im obtenir l'erreur suivante:

"you tried to execute a query that does not include the specified expression 'out_time'
 as an aggregate function in ms access" error.

Toute suggestion où je fais l'erreur.

Vous ne regroupés par b.SrNo. Qui out_time (et in_time, et log_date, ...) voulez-vous?....
Apparemment je suppose que vous vouliez dire à l'ORDRE PAR b.SrNo et pas le GROUPE?
Merci beaucoup pour la réponse, il fonctionne de mentionner les champs dans le groupe, mais le problème est que la sortie n'est pas de la comparaison de deux lignes, c'est la comparaison de toutes les lignes avec un de l'autre ![Structure de la Table][1] SrNo LOGID LOGDATE LOGTIME de TYPE 1 8 8/20/2012 9:32:12 AM Ma sortie doit les comparer et de les fournir à la différence de dans et en dehors des horaires de lignes successives. Pas tous les "et les lignes". Veuillez trouver l'écran ci-joint.

OriginalL'auteur saranya | 2012-09-14