MYSQL使用两个不同的id等于一个id

时间:2015-05-14 14:56:39

标签: php mysql

我有两张桌子:
教授

     id_prof   numep       prenumep   
       1        bla         bla  
       2        bla         bla  
       3        bla         bla  

考试

     id_ex  id_prof1     id_prof2   
       1        1             3  
       2        2             1  
       3        3             2  

我想用以下方式展示所有考试:

 $sqll = "SELECT * FROM exam, professor WHERE id_prof=id_prof1 AND id_prof = id_prof2 " ;
                $result = mysqli_query($link,$sqll);

            while($rows=mysqli_fetch_array($result,MYSQLI_BOTH)) {

                <tr>
                    <td><?php echo $rows['numep']." ".$rows['prenumep']; ?></td> 
                    <td><?php echo $rows['numep']." ".$rows['prenumep']; ?></td> 

                </tr> 

            }

它没有显示任何内容。但如果我删除其中一个id_prof=id_prof1或另一个,它只显示一位教授。我应该怎么做才能展示它们?我想在最后的日期考试教授Assistent等展示。和prof1和prof2 si为教授和助手。在这里我只说了一部分,因为只有这个不起作用

2 个答案:

答案 0 :(得分:0)

SELECT * FROM exam, professor WHERE id_prof=id_prof1 AND id_prof = id_prof2

你正在寻找一些id_prof女巫,在tabla&#34;考试&#34;你有像

这样的东西
id_ex  id_prof1     id_prof2   
   1        1             1
   2        3             3

等...

将查询更改为:

SELECT * FROM exam, professor WHERE id_prof=id_prof1 OR id_prof = id_prof2

答案 1 :(得分:0)

理想情况下,你应该对left joinprofessor表进行2次以获取数据,如果某些教授数据被删除,它将在结果中显示为null,如

select 
e.id_ex,
p1.numep as numep1,
p1.prenumep as prenumep1,
p2.numep as numep2,
p2.prenumep as prenumep2
from exam e
left join professor p1 on p1.id_prof = e.id_prof1
left join professor p2 on p2.id_prof = e.id_prof2