MySQL结果为逗号,用WHERE子句分隔

MySQL结果为逗号,用WHERE子句分隔,mysql,sql,where,comma,Mysql,Sql,Where,Comma,这在没有我的WHERE条件的情况下是有效的,但只要我搜索一种特定的口味,我就只能得到那种口味,但我想得到属于某个产品的所有口味。 我有两张简化的表格: 产品 品味 我希望我的结果是: 我已经尝试过这个SQL命令,但它似乎不起作用: SELECT products.title, GROUP_CONCAT(tastes.taste_name) as tastes FROM products JOIN tastes on products.id = tastes.product_id WHE

这在没有我的WHERE条件的情况下是有效的,但只要我搜索一种特定的口味,我就只能得到那种口味,但我想得到属于某个产品的所有口味。 我有两张简化的表格:

产品

品味

我希望我的结果是:

我已经尝试过这个SQL命令,但它似乎不起作用:

SELECT products.title, GROUP_CONCAT(tastes.taste_name) as tastes   
FROM products 
JOIN tastes on products.id = tastes.product_id 
WHERE tastes.taste_name = "cherry" 
GROUP BY products.id

我猜你想要所有的口味,而樱桃是其中之一

如果是,则需要在聚合后进行比较:

SELECT p.title, GROUP_CONCAT(t.taste_name) as tastes   
FROM products p JOIN
     tastes t
     ON p.id = t.product_id 
GROUP BY p.id
HAVING SUM(t.taste_name = 'cherry') > 0;

你能在你的桌子上贴更多的数据吗?产品2能有味道1吗?
| title          | tastes         |  
| exampleProduct | cherry, orange |  
SELECT products.title, GROUP_CONCAT(tastes.taste_name) as tastes   
FROM products 
JOIN tastes on products.id = tastes.product_id 
WHERE tastes.taste_name = "cherry" 
GROUP BY products.id
SELECT p.title, GROUP_CONCAT(t.taste_name) as tastes   
FROM products p JOIN
     tastes t
     ON p.id = t.product_id 
GROUP BY p.id
HAVING SUM(t.taste_name = 'cherry') > 0;