MySQL WHERE用逗号分隔的字符串

时间:2017-11-19 05:28:51

标签: mysql where

我见过一些相关内容,但无法让它正常工作。希望这对某人来说很容易!

我基本上是从逗号分隔的字符串中的API接收值。我正在尝试使用WHERE子句,我可以使用此字符串。让我举个例子。

修改 用户填写表单并将数据保存到表中,其中一列称为“过敏”。我现在希望使用看起来像"Egg,Milk,Peanuts".

的列

我构建了一个将为用户返回配方的查询,这需要考虑字符串中的每个值。

因此,我可以使用以下语法手动正确地完成此工作:

...
WHERE a.AllergyName = 'Egg' || a.AllergyName = 'Milk' || a.AllergyName = 'Peanut'
...

有人知道我怎么能动态地做到这一点吗?

1 个答案:

答案 0 :(得分:0)

我假设你的问题是你为每个用户存储过敏症,每个用户都有一些独特的标识符,如userId

尝试以下方式:

Select *
from Table1 t1
where AllergyName in (select AllergyName from Table2 t2 
                      where userId = (put Id here))