mysql - Inner Join返回错误记录

标签 mysql sql

我想返回所有 family_name 记录,其中 prod_type 是 P

表格是:

餐 table 产品

enter image description here

有记录

enter image description here

和表族 enter image description here

有记录

enter image description here

但是当我执行查询时:

SELECT family_name
FROM family
INNER JOIN products
ON products.prod_type="P";

我明白了:

enter image description here

知道如何解决吗?谢谢!

最佳答案

改为检查 WHERE 子句中的“P”,并使用 family_code 作为 JOIN 条件:

SELECT f.family_name
FROM family f
INNER JOIN products p ON p.family_code = f.family_code
WHERE p.prod_type='P';

基本上,您的初始查询返回的是 family 中与 products 中每一行匹配的每一行的 family_name(prod_type 为“P”)。

关于mysql - Inner Join返回错误记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22670410/

相关文章:

mysql - SQL 条件取决于同一查询的结果

mysql - 查找重叠或冲突的时间间隔

mysql - 1-多-多的数据库结构

sql - 如何为SQL设置时区?

mysql - 如何处理未激活的数据库记录或如何防止它

php - 使用PHP从SQL数据库显示重复日期

php - 提供的参数不是有效的mySQL资源

php - 使用 javascript 和 AJAX 进行数据库过滤

php - 我可以阻止我的虚拟主机提供商访问我的 "mySQL"数据库中的信息吗?

mysql - 为什么我不能以这种方式添加外键约束?