在MS访问,我有一个查询,我想在外部查询使用列作为内部查询的条件:比较子选择值与主值选择
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
;
的关键点是FirstOfattendance_date
- 我希望深入的比较在主选择的每次迭代中使用值。显然这不起作用,当我尝试运行它时,它会要求我输入FirstOfattendance_date
的值。
我想这样做,而不诉诸VB代码......任何想法?
select-list中复杂的子查询是什么意思?目前尚不清楚,但可能是该人员在出席Event_ID 8的第一天之后参加了Event_ID 8的次数。我们无法判断某人是否可以在一天内多次出席以及其他活动。 – 2009-02-06 05:36:33
就是这样 - 我们想要统计他们第一次参加之后可能的日期总人数,这可能不是活动开始时的日期。假设每天只有一次出勤。 – DGM 2009-02-13 05:52:57