MySQL结果以逗号分隔WHERE子句

时间:2018-06-02 19:07:47

标签: mysql sql where comma

这没有我的WHERE条件,但是一旦我寻找特定的味道,我只能得到那种味道,但我想收到属于产品的所有口味。
我有2个表(简化):

产品

| id | title          |  
| 1  | exampleProduct |  

品味

| taste_id | product_id | taste_name |  
|        1 |          1 | cherry     |  
|        2 |          1 | orange     |

我希望我的结果是:

| title          | tastes         |  
| exampleProduct | cherry, orange |  

我已经尝试过这个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

1 个答案:

答案 0 :(得分:1)

我的猜测是你想要所有的口味,当“樱桃”就是其中之一。

如果是这样,您需要在聚合之后进行比较

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;