从MySQL获取记录

时间:2013-06-12 22:12:34

标签: mysql sql

我有2个表:progressstudentprogress包含字段semesteridStudenthasFirstAttestationhasSecondAttestation。 我需要从progress获得那些学生最长学期且{Attestation = 0}的idStudent。 以下是我的查询示例,但它不起作用:

SELECT progress.idStudent FROM monitoring.progress 
WHERE hasFirstAttestation = 0 AND hasSecondAttestation = 0 
AND semester = 
    (SELECT MAX(`semester`)
        FROM monitoring.progress WHERE progress.idStudent = student.idStudent);

2 个答案:

答案 0 :(得分:2)

我想你忘了在FROM Clause中提到连接表

SELECT idStudent 
FROM monitoring.progress 
WHERE hasFirstAttestation = 0 AND hasSecondAttestation = 0 
AND semester = (SELECT MAX(semester) FROM monitoring.progress, monitoring.student 
WHERE progress.idStudent = student.idStudent);

答案 1 :(得分:0)

SELECT progress.idstudent 
FROM   monitoring.progress 
WHERE  hasfirstattestation = 0 
   AND hassecondattestation = 0 
   AND semester = (SELECT Max(`semester`) 
                   FROM   monitoring.progress,monitoring.student
                   WHERE  progress.idstudent = student.idstudent); 
相关问题