我想加入4张桌子。我希望它在返回 36 行时返回 4 行。这意味着我期望的结果重复 9 次。
$result=mysql_query("SELECT *
FROM exam
INNER JOIN studentexam ON exam.id = studentexam.examID
INNER JOIN question ON exam.id = question.examID
INNER JOIN answer ON exam.id = answer.examID
WHERE exam.id=$examID");
while($row=mysql_fetch_array($result)){
if($row['type']=='singleChoice'){
print $row['examID'].'*'.$row['studentID'].'*'.$row['questionID'].'<br>';
}
}
我想要的结果是:99*922723627*25 -- 99*922723627*26 -- 99*922723627*27 -- 99*922723628*25 -- 但我得到了 9 次。它返回所有排列(如果它是正确的英文单词)。我有 1 次考试,有 3 个问题和 3 名考生。第一名考生答了 3 道题,第二名考生答了 1 题,第三名考生没有参加考试。1*3*3*4 = 36
我已经多次使用 JOIN 但对此感到非常困惑。怎么了?!