【发布时间】:2017-02-09 20:10:14
【问题描述】:
您好,我已经查看了许多与我的问题类似的答案,但没有一个答案不止一个 WHERE。 我正在尝试查看我的数据库中是否存在跨多个表的内容。
我的代码如下:
<?php
$sql = "SELECT id FROM groom, lroom, try WHERE groom.person = $a AND lroom.person = $a AND try.person = $a";
$result = $conn -> query ($sql);
if($result -> num_rows >0){
//DO SOMETHING }else{//Dont do anything}
?>
示例数据库
groom
id room person
1 4 1
lroom
id room person
6 8 1
try
id court person
8 2 1
$a = 1;
结果应该是 1,6,8 非常感谢任何帮助
【问题讨论】:
-
查看加入
-
更新您的问题并添加适当的数据样本和预期结果..请
-
您的陈述是您要识别存在于所有表中的某些内容。如果是这种情况,那么您想做与您所做的类似的事情,但由于所有 3 个表都有一个列 ID,您需要选择所有三个或只选择一个前缀。你可以使用联合,但你不会得到一行,你最多会得到 3 行作为响应,它会返回任何表的 ID。如果条件是您要验证所有 3 个表中都存在的实体,则联合会出现问题。