MySQL结果为逗号,用WHERE子句分隔
这在没有我的WHERE条件的情况下是有效的,但只要我搜索一种特定的口味,我就只能得到那种口味,但我想得到属于某个产品的所有口味。 我有两张简化的表格: 产品 品味 我希望我的结果是: 我已经尝试过这个SQL命令,但它似乎不起作用: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
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;