我将数据库中的数据作为
| 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看到。
如何使用上面显示的值进行此查询?是否有任何勾选来获取与表数据相比的逗号分隔字符串值?
答案 0 :(得分:1)
将WHERE title LIKE '%App Development, DB Admin%'
更改为WHERE title LIKE '%App Development%' OR title LIKE '%DB Admin%'
。将逗号置于LIKE
条件不会分隔字符串。我希望我做对了!