有人可以解释这个INNER JOIN有什么问题吗?

时间:2014-03-09 14:47:09

标签: mysql sql database syntax

简化,我在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

我是否误解了内部联系?

修改

这里有几张图片来说明我的表格:

enter image description here

正如您所看到的,我按用户ID排序,因此您可以看到ID = 10的7个条目。

enter image description here

0 个答案:

没有答案