【发布时间】:2009-02-06 03:47:11
【问题描述】:
在 MS Access 中,我有一个查询,我想使用外部查询中的列作为内部查询中的条件:
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 代码的情况下做到这一点...有什么想法吗?
【问题讨论】:
-
选择列表中的复杂子查询意味着什么?目前尚不清楚,但这可能是该人在参加 Event_ID 8 的第一天之后参加 Event_ID 8 的次数。我们无法判断某人是否可以在一天内参加多次,等等。
-
就是这样 - 我们想计算可能日期在他们第一次参加之后的总参加人数,这可能不是活动开始的时间。假设每天只有一次出席。