无法以正确的方式执行mysql查询

时间:2017-07-20 18:39:13

标签: php mysql

我将数据库中的数据作为

| id|title        | exp_level  | skill      | company   |
|---|-------------|------------|------------|-----------|
| 1 |Web Developer|  Entry     |Java, PHP   |Virtual Inc|
| 2 |App Developer|Intermediate|Android, iOS|Virtual Inc|
| 3 |App Developer|Intermediate|Ionic, React|Virtual Inc|

结果可以在SQL Fiddle Here看到,好的,现在需要的是,如果用户搜索开发人员,则所有title 开发人员的作业都应该通过查询返回,如果用户搜索条目,则应通过查询返回所有level 条目的作业,依此类推,我有此查询

SELECT * FROM AVAIL_JOBS WHERE title LIKE '%App Development, Social Marketing%' OR exp_level LIKE '%Entry%' OR skill LIKE '%Java%' OR company LIKE '%App Inc%'

以上查询效果很好,结果可以在SQL Fiddle Here看到,但是以下查询

SELECT * FROM AVAIL_JOBS WHERE title LIKE '%App Development, DB Admin%' OR exp_level LIKE '%Entry, Advanced%' OR skill LIKE '%Java, Spring, Angular%' OR company LIKE '%Inc, Foo, Bar, Lorem%'

此查询返回空值,没有任何数据,即使有" App"," Entry"," Java"在表中显示,但查询结果找不到那些,可以在SQL Fiddle Here看到。

如何使用上面显示的值进行此查询?是否有任何勾选来获取与表数据相比的逗号分隔字符串值?

1 个答案:

答案 0 :(得分:1)

WHERE title LIKE '%App Development, DB Admin%'更改为WHERE title LIKE '%App Development%' OR title LIKE '%DB Admin%'。将逗号置于LIKE条件不会分隔字符串。我希望我做对了!