【发布时间】:2016-04-22 04:25:09
【问题描述】:
我已经坚持了好几个小时了,任何帮助将不胜感激
我有两个表 'products' 和 'product_subcategorys'
'products' 仅包含唯一 id,而 'product_subcategorys' 包含相对于 'products' 表的多个 id
'products'
id brand
1 a
2 b
3 a
'product_subcategorys'
id subcat
1 u
1 i
2 u
3 u
这是我的查询,按“p.id”分组似乎不起作用
SELECT GROUP_CONCAT(p.brand)
FROM products p
LEFT JOIN product_subcategorys s ON p.id = s.id
WHERE (
s.subcategory = "u"
OR s.subcategory = "i"
) AS GROUPbrand
所以我的问题是,我希望它只从“产品”表中返回品牌列表,因为我需要计算倍数
我希望查询返回品牌“a”两次,但此查询返回 3 次,因为“product_subcategorys”中有两个匹配的 id
【问题讨论】:
-
编辑您的问题并添加您想要的结果。请注意,您指定的查询仅返回一行,所以我不知道您所说的“此查询返回 3 次”是什么意思。
-
你需要计算倍数。这些应该是多行,还是需要数字计数?
-
当我得到'a,a,b,a'时,我需要返回行,例如'a,b,a'