【发布时间】:2011-03-25 07:11:49
【问题描述】:
我正在尝试对两个表执行选择查询,一个包含例如产品,另一个包含可以为这些产品选择的颜色。
每种产品都有不同数量的颜色可供选择;有些只有一种颜色,有些可以有 20 种颜色。
查询的范围是解析包含所有可用颜色的 20 种产品的列表。这意味着每个产品的颜色数量不必受到限制,但显示的产品会受到限制。
我当前的查询如下所示:
SELECT p.*,
c.*
FROM Products AS p
LEFT JOIN Colors AS c ON c.ColorProductID = p.ProductID
GROUP BY p.ProductID
ORDER BY p.ProductID ASC, c.ColorID ASC
LIMIT 0, 20
这个查询的问题在于它确实只从数据库中获取了 20 种产品,但它也只获取了每个产品的一种可用颜色,而不是每个产品的所有可用颜色。
如何更改我的查询以仅获取 20 种产品,但对每种产品的颜色没有限制?
提前致谢!
【问题讨论】: