2013-06-12 54 views
0

我有2個表格:progressstudentprogress具有字段semesteridStudenthasFirstAttestationhasSecondAttestation。 我需要從progress那些idStudent哪些學生的最長學期和兩個認證= 0。 這裏是我的查詢的例子,但它不工作:從MySQL獲取記錄

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); 
+1

*** **什麼*在您的查詢中不起作用? – Kermit

+0

用「IN」取代最後一個「AND」 – FredTheWebGuy

+0

刪除Max中的''這是MAX(學期)不是MAX('學期') –

回答

2

我想你忘了提及連接表在FROM子句中

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); 
+0

哦,謝謝你,它有效。 – Eugene

+0

很高興幫助:-) –

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);