Php MYSQL等于一个id和两个不同的id
我有两张桌子:Php MYSQL等于一个id和两个不同的id,php,mysql,Php,Mysql,我有两张桌子: 教授 考试 我想用以下内容显示所有考试: $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)) {
教授 考试 我想用以下内容显示所有考试:
$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>
}
$sqll=“从考试中选择*教授,其中id\u prof=id\u prof1和id\u prof=id\u prof2”;
$result=mysqli\u查询($link,$sqll);
而($rows=mysqli\u fetch\u数组($result,mysqli\u两者)){
}
它没有显示任何东西。但如果我删除其中一个id\u prof=id\u prof1
或另一个,它只显示一位教授。我应该怎么做才能让他们都看出来?我想在期末考试时有教授助理等展示。教授和助教分别为prof1和prof2 si。在这里,我只说了一部分,因为只有这个不起作用
SELECT * FROM exam, professor WHERE id_prof=id_prof1 AND id_prof = id_prof2
你在找一个女巫的身份证,在一个“考试”表格里,你有类似的东西
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
理想情况下,您应该对
professor
表执行两次left join
,以获取数据,如果删除了一些professor数据,结果中将显示为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
您使用的是
和
,因此您只需要id\u prof1和id\u prof2字段具有相同值的记录。请尝试使用或
。请在问题中添加您想要的输出…为什么使用加入
?我认为union
更好。没有join就没有。当你在exam
表中有ID时,你如何从prefessor
表中知道numep
和prenumep
呢?你说得对。。!还有一个问题:为什么使用join
。现在它只是内部连接,这意味着两个表中都必须有匹配的记录。假设从professor表中删除了一位教授,进行内部联接将不会显示具有该教授id的行,因此左联接,因此即使删除了教授,我们也会从考试表中获取数据,如果professor表中没有教授数据,则返回空值。哇,明白了。。。!事实上,我有两个字典表,想在其中搜索,现在你有什么建议??在单词排序中,我想在表1
中搜索一个单词,然后在表2
中搜索同一个单词<代码>联合所有或加入
?
SELECT * FROM exam, professor WHERE id_prof=id_prof1 OR id_prof = id_prof2
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