PHP MYSQL Join 并输出不匹配的结果

标签 php mysql database join

我有两张表:一张名为“Collected_items”,另一张名为“Wrong_Collected”。如下所示:

**collected_items**
item_no qty
x1       10
x2       20
BB       5
Z1       20
x13      13


**wrong_collected**
item_no qty
x1      10
x2      20
x13     13

如您所见,两个表中都出现了项目编号,但我只想输出 wrong_collected 表中没有的项目。

$sql = mysql_query("SELECT collected_items.item_no,wrong_collected.item_no FROM collected_items, wrong_collected WHERE collected_items.item_no!=wrong_collected.item_no");
while($data = mysql_fetch_array($sql)){
   echo $data["item_no"];
}

输出显示除 BBZ1 之外的所有项目编号。如果您从 collected_items 中删除 ! .item_no=wrong_collected.item_no 输出将显示匹配的 item_no,如下所示:

X1 X2 X13

抱歉,我不太熟悉 PHP。我已经学习了 JOIN,但我从未见过有关如何输出无与伦比的结果的示例。请帮忙!

最佳答案

改变这个:

从 collected_items 中选择 collected_items.item_no,wrong_collected.item_no, wrong_collected WHERE collected_items.item_no!=wrong_collected.item_no

到:

SELECT ci.item_no FROM collected_items ci 
left join wrong_collected wc on ci.item_no=wc.item_no 
WHERE wc.item_no is null;

关于PHP MYSQL Join 并输出不匹配的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17132772/

相关文章:

javascript - 如何阻止浏览器后退按钮访问 php 页面?

mysql - 如何正确设计 SQL 查询以实现最佳行输出

mysql - 如何在模型中存储日期?

mysql 查询,不太复杂的查询出现 "sending data"错误

sql - Oracle 数据库中有 boolean 类型吗?

php - 将数据输入 php 表单,而不填充 MySQL 表

php - 可以从 php 中的数组动态定义类默认公共(public)变量吗?

PHP Carbon diffInMonths

Mysql查询(相同)不同的结果集返回不同的结果顺序

database - Spring Data JPA - 从数据库中查找行数