我有3个表要结合,详见下文:
product.productID category.categoryID product.name product.price category.name(虽然每个产品可以属于多个类别)
我想要做的是在单个查询中获取每个产品与其相关的类别.我怎么会这样呢?
Mar*_*ers 33
你需要两个连接:
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
Run Code Online (Sandbox Code Playgroud)
如果某个产品可能不属于任何类别且您仍想要返回该产品,请在两个位置将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
Run Code Online (Sandbox Code Playgroud)
但是,最好只使用两个查询,而不是将多个值放入单个单元格中.
| 归档时间: |
|
| 查看次数: |
23703 次 |
| 最近记录: |