首页 > 解决方案 > 如何从有条件的表中获取数据,该数据不能存在于其他表中

问题描述

我有 2 张桌子perkakasanpeminjaman. 两个表都有相同的主键,即nosiri. 它们具有关系并且perkakasan是主键。这些是表的示例。

perkakasan
nosiri:SMKS001L, SMKS002L, SMKS001N

peminjaman
nosiri:SMKS001L, SMKS001N

我想从表“perkakasan”中获取数据,条件是表“peminjaman”中不能存在数据,在这种情况下,数据是 SMKS002L。请帮我做这些,感谢任何帮助:)

<?php
include 'capaian.php';
$test = "SELECT perkakasan.nosiri as nosiriperkakasan from perkakasan 
WHERE nosiri in ( SELECT nosiri FROM peminjaman WHERE nosiri != 'nosiriperkakasan' )";
$testcapai = mysqli_query($capaiDB, $test);

if($data=mysqli_fetch_array($testcapai)){
    do{$nosiri = $data['nosiriperkakasan'];

        echo "$nosiri";
    }while($data=mysqli_fetch_array($testcapai));
}else{
    echo "Gagal";
}

?>

我尝试过的编码显示 SMKS001L 和 SMKS001N

标签: phphtmlsql

解决方案


您可以进行左连接,然后过滤这些结果,其中第二个表中没有记录。

SELECT p1.* FROM perkakasan p1 LEFT JOIN peminjaman p2 ON p1.nosiri=p2.nosiri WHERE p2.nosiri IS NULL


推荐阅读