mysql - 如何显示来自 3 个连接的单个项目的记录或数据

标签 mysql sql join left-join

我正在尝试显示来自 3 个单独表格的数据。

1. product_master 包含有关产品的数据,如图像、价格、数量等。

2. 仅包含 attribute_id 和 attribute_name 的 attribute_master,

3. product_attrib_master 包含 prod_id(即外键)、attribute_id(即外键)和 product_attribute_value 等数据。

现在我有以下查询:

SELECT
 pm.prod_name,
 am.attribute_name,
 pa.product_attribute_value
 FROM product_attrib_master pa
 LEFT JOIN attribute_master am
 ON pa.attribute_id = am.attribute_id
 LEFT JOIN product_master pm
 ON pa.prod_id=pm.prod_id
 ORDER BY pa.prod_id;

此查询显示以下结果:

enter image description here

现在我只想显示特定项目的数据。 假设我想显示项目 Nokia Lumia 925 的数据,它是 prod_id = 12。 那我该怎么办?

有人建议我必须做什么吗?

最佳答案

您需要在查询中添加一个 where 子句。 试试这个::

SELECT
 pm.prod_name,
 am.attribute_name,
 pa.product_attribute_value
 FROM product_attrib_master pa
 LEFT JOIN attribute_master am
 ON pa.attribute_id = am.attribute_id
 LEFT JOIN product_master pm
 ON pa.prod_id=pm.prod_id
WHERE pm.prod_name ='Nokia Lumia 925'
 and prod_id = 12
 ORDER BY pa.prod_id;

关于mysql - 如何显示来自 3 个连接的单个项目的记录或数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19588841/

相关文章:

mysql - Codeigniter + MySQL - 搜索包含字符串

java - 数据未插入 SQLite 数据库

MYSQL连接困惑

SQL 条件连接?

sql - postgres 中用于计算值的列别名

mysql - SQL与日期时间重叠分配功劳

mysql - 检查表中是否存在数据,然后在单独的表中进行比较

php - 在 Codeigniter 中比较表并获取数据

php - 通过PHP/MySQL上传图片

mysql - MySQL 两列之间相减的 WHERE 子句