MySQL:如何查询序列中缺失的数据

时间:2015-10-07 14:19:39

标签: mysql subquery inner-join

我有以下相关表格:

Substring(0,8)

我需要一个查询来返回所有"参加"今天的EventID = 1,但在下一周至少会错过一天,最好也会在第一天错过。 (事情本身并不是真正出席,但是EventID = 1意味着他们正在旅行,我想知道下周谁会回来。)围绕SO狩猎,我发现this answer帮助我制作了一个特定人员缺失日期的清单:

person: PersonID, FullName, etc.
attendance: PersonID, EventID, AttendDate

这就像一个魅力。但是,如果我尝试将其与人员表一起加入,并且还要添加他们目前必须出行的标准(今天有出勤记录),我就无法使其成功。到目前为止,我有这个:

SELECT missdate FROM (
  SELECT @r:= DATE_ADD( @r, INTERVAL 1 DAY ) missdate
  FROM ( SELECT @r := CURDATE() ) vars, attendance 
  LIMIT 7
) justdates WHERE justdates.missdate NOT IN (
  SELECT attendance.AttendDate FROM attendance
  WHERE attendance.PersonID = 5222
  AND attendance.AttendDate = justdates.missdate
)

但是它并没有在子查询的WHERE子句中识别person.PersonID。我该怎么做?

0 个答案:

没有答案