gpt4 book ai didi

MySQL加入多对多单行

转载 作者:IT老高 更新时间:2023-10-28 23:54:33 25 4
gpt4 key购买 nike

我有 3 个表要合并,详情请见下文:

产品

  • 产品编号
  • 姓名
  • 价格

产品猫

  • 产品编号
  • 类别ID

类别

  • 类别编号
  • 姓名

加入

product.productID category.categoryID product.name product.price category.name(每一个,因为一个产品可以属于多个类别)

我想要做的是在单个查询中获取每个产品及其相关类别。我怎么知道这个?

最佳答案

你需要两个连接:

SELECT
product.productID,
category.categoryID,
product.name,
product.price,
category.name
FROM product
JOIN product_cat ON product.productID = product_cat.productID
JOIN category ON category.categoryID = product_cat.categoryID

如果产品可能不属于任何类别,但您仍想返回,请在这两个地方将 JOIN 更改为 LEFT JOIN。

另一种方法:

SELECT
product.productID,
product.name,
product.price,
GROUP_CONCAT(category.name)
FROM product
JOIN product_cat ON product.productID = product_cat.productID
JOIN category ON category.categoryID = product_cat.categoryID
GROUP BY product.productID

但是,最好只使用两个查询而不是将多个值放入单个单元格中。

关于MySQL加入多对多单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5158950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com