简化,我在MySQL数据库中有三个表:
sessions
- id
- title
- training_programme_id
session_attendees
- id
- sessions_id
- users_id
users
- id
- name
我正在尝试计算用户在特定培训计划中参加的会话数。当用户设置为参加会话时,他们的ID将添加到session_attendees.users_id
,会话ID将添加到session_attendees.sessions_id
。以下是我的SQL计算(result
)当培训计划ID为10
时ID为1
的用户所参加的会话数:
SELECT count(*) AS result FROM session_attendees
INNER JOIN sessions
ON (session_attendees.sessions_id = sessions.id)
WHERE (session_attendees.users_id = 10 AND sessions.training_programme_id = 1);
现在我知道直接检查数据库session_attendees
包含7个会话users_id = 10
,所有会话都有training_programme_id = 1
。
我是否误解了内部联系?
修改
这里有几张图片来说明我的表格:
正如您所看到的,我按用户ID排序,因此您可以看到ID = 10的7个条目。