Dans MS Access, j'ai une requête où je veux utiliser une colonne dans la requête externe comme une condition dans la requête interne:Comparer la valeur subselect avec une valeur en maître sélectionner
SELECT P.FirstName, P.LastName, Count(A.attendance_date) AS CountOfattendance_date,
First(A.attendance_date) AS FirstOfattendance_date,
(SELECT COUNT (*)
FROM(SELECT DISTINCT attendance_date
FROM tblEventAttendance AS B
WHERE B.event_id=8
AND B.attendance_date >= FirstOfattendance_date)
) AS total
FROM tblPeople AS P INNER JOIN tblEventAttendance AS A ON P.ID = A.people_id
WHERE A.event_id=8
GROUP BY P.FirstName, P.LastName
;
Le point clé est FirstOfattendance_date
- Je souhaite que la comparaison soit approfondie dans le sous-menu pour utiliser la valeur dans chaque itération de la sélection principale. Évidemment, cela ne fonctionne pas, il me demande la valeur de FirstOfattendance_date
lorsque j'essaie de l'exécuter.
Je voudrais faire cela sans avoir recours au code VB ... des idées?
Quelle est la sous-requête complexe dans la liste de sélection destinée à compter? Ce n'est pas clair, mais cela peut être le nombre de fois que la personne a assisté à Event_ID 8 après le premier jour où ils ont assisté à Event_ID 8. Nous ne pouvons pas dire si quelqu'un peut y assister plusieurs fois, notamment. –
C'est exactement cela - Nous voulons compter la présence totale des dates possibles après leur première participation, qui peut ne pas être lorsque l'événement a commencé. Supposons seulement une présence par jour. – DGM