在php中的sql查询中使用not

在php中的sql查询中使用not,php,sql,Php,Sql,我有两个sql表>>请求和服务提供程序 我想做的是检查请求表中是否存在服务提供者id。我只想显示服务提供者表中除请求表中的服务提供者id之外的其他服务提供者id。。如何做到这一点 我的代码如下: $query_req="SELECt * FROM requests WHERE ongoing='0'"; $result_req=mysqli_query($dbc,$query_req) or die(mysqli_error($dbc)); whi

我有两个sql表>>请求和服务提供程序 我想做的是检查请求表中是否存在服务提供者id。我只想显示服务提供者表中除请求表中的服务提供者id之外的其他服务提供者id。。如何做到这一点
我的代码如下:

$query_req="SELECt * FROM requests WHERE ongoing='0'";
            $result_req=mysqli_query($dbc,$query_req) or die(mysqli_error($dbc));
            while($row_req=mysqli_fetch_array($result_req)){
            $query_sp="SELECT * FROM service_provider WHERE id NOT IN $row_req[service_provider_id]";
            $result_sp=mysqli_query($dbc,$query_sp)or die(mysqli_error($dbc));
            while($row_sp=mysqli_fetch_array($result_sp)){
            ?>
            <tr>
                <td><img src="<?php echo $row_sp['picture']; ?>" alt="" /></td>
                <td class="cart-title"><a href="#"><?php echo $row_sp['name']; ?></a></td>
                <td><?php echo $row_sp['wage_hour']; ?></td>
                <td><?php echo $row_sp['rating']; ?></td>
                <td><a href="confirm_request.php?id=<?php echo $row_sp['id']; ?>" class="button color ">Request Skillfull</a></td>
                </tr>
                <?php
                }

                    }
                      ?>
$query\u req=“从正在进行的请求中选择*”;
$result_req=mysqli_query($dbc,$query_req)或die(mysqli_error($dbc));
while($row\u req=mysqli\u fetch\u数组($result\u req)){
$query_sp=“从服务提供程序中选择*,其中id不在$row_req[服务提供程序\u id]”;
$result_sp=mysqli_query($dbc,$query_sp)或die(mysqli_error($dbc));
while($row\u sp=mysqli\u fetch\u数组($result\u sp)){
?>
“alt=”“/>

我不断收到erros pealse帮助

试试这个。它将选择id不在请求中的所有服务提供商


您会遇到什么错误?您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行“1”附近使用的正确语法。这就解释了-您有语法错误。:-)事实上,我看到了-下面的值列表中应该有括号,不在中,因此您需要:
…不在中(…)
作为旁白,当您只有一个值时,您不需要使用
…不在(…)
中-只需使用
=
直接进行比较即可;这样效率更高。谢谢您,但仍有重复项。>>说我有服务提供商id(1)和(2)在请求表中..>>我想得到的结果是服务提供商表中的服务提供商id号3..有任何帮助请确定问题是SQL吗?如果服务提供商表中有1,2,3,请求表中有1,2。我给你的选择将返回3。
SELECT * FROM service_provider WHERE id NOT IN (SELECT id FROM requests WHERE ongoing='0')