从列中有多个值的位置中选择全部

时间:2017-05-30 10:55:38

标签: mysql database

我有一个人员分组,每个人都可以拥有一个或多个国家。这些国家/地区可以从多选下拉列表添加到数据库。 一个人可能是这样的

name   country   
john   USA, UK, Poland   
joe    USA  
Jack   Germany   

用户可以通过更改<%= country%>的值来过滤人数 我试图根据用户的选择过滤人。我正在使用此查询

 SELECT *
FROM `personnel`
WHERE <%= country %> LIKE `country`
ORDER BY `industry` ASC, `name` ASC

问题是这个选择仅过滤具有单个国家/地区的行(人),并且它不会显示拥有多个国家/地区的人。 我尝试使用=而不是LIKE但是那个也不起作用

1 个答案:

答案 0 :(得分:0)

您需要在 LIKE 句子中添加LIKE '%country%'
允许搜索所有字符串,无论之前和之后有什么 如果您喜欢“国家/地区”,则仅显示具有单个国家/地区的人。
干杯