【发布时间】:2011-11-18 10:39:24
【问题描述】:
我有 3 张桌子
products categories products_categories
------------ ------------- --------------------
product_id category_id product_id
product_title category_title category_id
如 db 架构所示,每个产品都可以属于多个类别。 我加入这三个表以获得最后插入的三个产品的列表。
SELECT p.product_id,
p.product_title,
c.category_id,
c.category_title
FROM products p
INNER JOIN products_categories pc ON p.product_id = pc.product_id
INNER JOIN categories c ON pc.category_id = c.category_id GROUP BY p.product_id LIMIT 3
通过上述查询,我得到了产品,但产品属于的第一个类别。
我的问题是,是否可以通过修改查询来获取每个产品所属的所有类别,以及产品信息?
或者唯一的方法是在获取列表以获取其类别的同时对每个产品执行另一个查询?
【问题讨论】:
-
改用 GROUP BY pc.product_id。不过看起来确实是正确的。