我有以下表格:
members:
----------------------------------------------
| member_id | member_name | member_join_date |
----------------------------------------------
events:
-------------------------
| event_id | event_name |
-------------------------
event_dates:
--------------------------------------
| event_id | event_date | event_week |
--------------------------------------
attendance:
------------------------------------------------------------
| member_id | event_id | attendance_date | attendance_week |
------------------------------------------------------------
所以我有成员在某个时间加入了组织,他们可能会参加每周的活动(事件的发生由event_dates
表监控)
我想要做的是让所有至少连续缺席 3 次的成员
我尽我所能,我认为我有查询的每个部分,但不知道如何将它们合并在一起。
获取他们可以参加的所有活动:
SELECT
m.member_id AS id,
ed.event_id,
ed.event_week
FROM
members AS m
LEFT JOIN
event_dates AS ed
ON
ed.event_date >= m.member_join_date
获取他们实际参加的所有活动:
SELECT
m.member_id AS id,
a.event_id
FROM
members AS m
LEFT JOIN
attendance AS a
ON
a.member_id = m.member_id
如果我设法将两个查询合并为一个,则可能是这个问题的答案:
但这次我想计算NULL
价值