首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql分组查询

Mysql分组查询
EN

Stack Overflow用户
提问于 2010-12-24 07:16:49
回答 1查看 80关注 0票数 0

我有两个表,其中包含产品信息和产品变体。我在试着列出所有的产品,还有颜色的变化。

表products包含有关产品的常规信息(名称、说明、已启用等)。

表product_attributes包含产品的不同选项(颜色、大小、价格等)

我正在尝试获取所有可用的产品,如果产品有两种颜色,它应该显示为两个列表。不幸的是,我下面的查询列出了更多的选项,因为每个大小组合也会有一行。

代码语言:javascript
复制
SELECT pa.price, pa.color, p.id, p.url_key, p.name FROM product_attributes AS pa INNER JOIN products AS p ON pa.product_id = p.id && p.active = 1

有谁知道如何做到这一点,最好和最聪明的方式?

我希望你能理解我的问题

提前谢谢你,

致以问候!

代码语言:javascript
复制
id  mediumint(7)    NO  PRI NULL    auto_increment
type    tinyint(3)  NO      1    
url_key varchar(54) NO      NULL     
name    varchar(48) NO      NULL     
description text    NO      NULL     
weight  float   NO      0    
active  tinyint(3)  NO      0    
in_feed tinyint(3)  NO      0    
tax_class   tinyint(3)  NO      0    
meta_title  varchar(48) NO      NULL     
meta_keywords   varchar(48) NO      NULL     
meta_description    text    NO      NULL     
manage_stock    tinyint(3)  NO      0    
attribute_designers_id  mediumint(7)    NO      0    
attribute_size_family_id    mediumint(7)    NO      0

id  mediumint(7)    NO  PRI NULL    auto_increment
product_id  mediumint(7)    NO  MUL NULL     
sku varchar(48) NO      NULL     
price   float   NO      NULL     
special_price   float   NO      0    
special_price_from_date datetime    NO      NULL     
special_price_to_date   datetime    NO      NULL     
cost    float   NO      0    
new_from_date   datetime    NO      NULL     
new_to_date datetime    NO      NULL     
attribute_colors_id mediumint(7)    NO      NULL     
color   varchar(24) NO      NULL     
attribute_sizes_id  mediumint(7)    NO      NULL     
quantity    mediumint(7)    NO      0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-24 07:19:42

您需要通过以下方式添加群组:

代码语言:javascript
复制
SELECT pa.price, pa.color, p.id, p.url_key, p.name
FROM product_attributes AS pa
INNER JOIN products AS p
ON pa.product_id = p.id && p.active = 1
GROUP BY p.id, pa.color

注意,您的列pa.price在这里可能没有意义,因为价格几乎肯定取决于大小,但您不知道价格是针对哪个大小的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4523154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档