1

我需要从MySQL数据库中获取一些数据。我有使用两个单独的简单查询的功能,但我确信这可能可以通过一个使用JOIN. SQL不是我的强项,我在尝试时不断收到语法错误。当然,我可以保持原样,为什么不呢,它可以工作。但我更希望看到一个真实世界的示例,说明如何将它们连接起来,以便将来尝试将其应用于其他查询。

查询一是:

select manufacturers_id from products where products_name = product a

然后将结果放入变量中并用于以下

select manufacturers_name from manufacturers where manufacturers id = $man_id

因此,基本上,该products表包含manufacturers_id,我们需要为给定产品收集它,以从表中找出制造商名称manufacturersmanufacturers_id是公共领域。

4

3 回答 3

1

试试这个:

SELECT b.manufacturers_name 
FROM products a
LEFT JOIN manufacturers b ON a.manufacturers_id = b.manufacturers_id
WHERE a.products_name = 'PRODUCT NAME'

下面是一张图SQL Joins

SQL 连接

图片来源

于 2013-03-13T00:31:04.450 回答
0

我相信这就是你要找的

SELECT manufacturers.manufacturers_name
FROM products
JOIN manufacturers on manufacturers_id=products.manufacturers_id
WHERE manufacturers_name='product a'

使用连接,您只需要遵循此语法,并记住您必须将匹配的列设置为彼此相等,这样您就不会得到无效的行。

我将向您展示使用表连接的等效方法,但我真的不想鼓励使用该语法,即使是偶然的。

于 2013-03-13T00:31:02.717 回答
0

试试这个:

 select m.manufacturers_name from products p, manufacturers m
 where p.products_name = 'productA' and p.manufacturers_id = m.id
于 2013-03-13T00:33:36.970 回答