mysql - SQL : Show value of column A if value of column B matches column B in another table

标签 mysql

我花了几个小时试图解决这个问题,有很多类似的主题,但似乎仍然找不到我的答案。 我希望有人可以帮助我,这就是我正在尝试做的事情:

我有一个名为“品牌”的表格和一个名为“产品”的表格 我正在尝试构建一个查询,如果该表中的brand_id与表“brand”中的brand_id相同,则该查询将显示表“product”中的product_id。

所以基本上我有,品牌表:

brand_name    brand_id
a             1
b             2
c             3

和产品表:

product_id    brand_id
23            2
24            1
25            2
27            3 
28            3

现在,如果选择了brand_id 3,我想显示所有brand_id 为3的product_id。

到目前为止我已经:

SELECT brand_id, brand_name, from " . TABLE_BRAND . " order by brand_name";

SELECT product_id from " . TABLE_PRODUCT . where brand_id = '" . (int)$brands['brand_id'] . "'");

请问有人可以帮助我让它像我描述的那样工作吗? 问候

最佳答案

我建议您使用ANSI SQL-92语法而不是 ANSI SQL-89语法,因为如果未正确连接结果为 CROSS JOIN 。 <强> Read something HERE: ANSI SQL-92 INNER JOIN.

SELECT  a.Product_ID, b.brand_name
FROM    `product` a 
            INNER JOIN  `brand` b
                ON a.brand_id = b.brand_ID
-- WHERE a.Product_ID = valueHERE       -- <== place condition here :)

关于mysql - SQL : Show value of column A if value of column B matches column B in another table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11893686/

相关文章:

php - 无法启动服务 wampmysqld

c# - BLToolkit-mysql-connector异常: Could not load file or assembly MySql.数据,版本=6.9.7.0

mysql - 我们可以通过对表进行排序来使用左连接而不是右连接吗?

python - 如何使用 python 和 mysql 删除表的内容

php - 按小时对时间值进行分组

sql - 基本的连接查询理解

java - 如何在 JAVA Netbeans 中使用 JComboBox 将记录 ID 而不是 Varchar 插入到我的 MySql

sql - 存储工作时间并有效查询的最佳方式

php - 使用 PHP 循环向 MySQL 表添加多列

php - 如何使用 Laravel 查询生成器