PHP mySQL-从数据库的3个表中获取数据

PHP mySQL-从数据库的3个表中获取数据,php,mysql,Php,Mysql,我有3个表及其列,我想让那些没有参加测验的学生和那些已经参加测验的学生(单独的脚本) 其中,as quick.class\u name=studentclass.class\u name,quick.user\u faculty=sctudenclass.user\u faculty,studentclass.user\u student=score.user\u student,quick.id=score.quick\u id score.status='F'//这定义用户\学生已经参加了测

我有3个表及其列,我想让那些没有参加测验的学生和那些已经参加测验的学生(单独的脚本)

其中,as quick.class\u name=studentclass.class\u name,quick.user\u faculty=sctudenclass.user\u faculty,studentclass.user\u student=score.user\u student,quick.id=score.quick\u id

score.status='F'//这定义用户\学生已经参加了测验

我的问题是:

SELECT quiz.id, quiz.title, quiz.start_on, quiz.end_on, quiz.class_name,
quiz.user_faculty, studentclass.user_student, score.status
FROM quiz
INNER JOIN studentclass
ON quiz.class_name = studentclass.class_name
AND start_on >= now()
AND end_on <= now()
LEFT JOIN score
ON quiz.id = score.quiz_id
WHERE score.status IS NULL
选择quick.id、quick.title、quick.start\u on、quick.end\u on、quick.class\u name、,
quick.user\u教员,studentclass.user\u学生,score.status
来自测验
内联学生班
关于quick.class\u name=studentclass.class\u name
并在>=now()上启动

下面的查询将列出所有没有参加测验的学生。让我知道这是否符合你的目的。我会根据需要更新它

如果需要其他表中的数据,可以相应地添加联接

select * from studentclass Where id NOT IN (
     select user_student from score where quiz_id = YOUR ID //if you wnat to filter it for a specific quiz.
)

下面的查询将列出所有没有参加测验的学生。让我知道这是否符合你的目的。我会根据需要更新它

如果需要其他表中的数据,可以相应地添加联接

select * from studentclass Where id NOT IN (
     select user_student from score where quiz_id = YOUR ID //if you wnat to filter it for a specific quiz.
)

它对我不起作用,它给了我所有的学生班级,我想去做测验,只需要学生班级来比较班级名称和用户。它对我不起作用,它给了我所有的学生班级,我想去做测验,只需要学生班级来比较班级名称和用户