-1

我有一个表 1 产品(产品 ID、名称、描述、productCategoryID)和表 2 类别(类别 ID、名称)的经典示例,我想要的只是使用 select 语句来获取产品表输出,但使用产品类别名称代替结果集中的ID,我知道这一定很简单,但我用谷歌搜索并查看了所有类似的问题,但不明白在我的情况下加入是如何工作的,谢谢

4

2 回答 2

1

您想JOIN在两个表之间使用 a :

select p.productId
   p.name as ProductName, 
   p.description,
   c.name CategoryName
from products p
inner join categories c
  on p.productCategoryId = c.categoryId

如果您在学习联接方面需要帮助,这里是联接的一个很好的可视化解释

INNER JOIN在两张桌子之间使用了一个。这将返回两个表之间匹配的所有行。如果products无论表中是否有匹配的行都想返回所有category,那么您将需要使用LEFT JOIN

于 2013-01-27T20:51:11.040 回答
1

理想情况下,我们会看到一些您自己的代码......但是......

SELECT products.productID, 
       products.name as ProductName, 
       products.description, 
       categories.name as CategoryName
FROM Products
INNER JOIN categories 
ON categories.categoryID = Products.productCategoryID
于 2013-01-27T20:51:35.190 回答