如何选择具有分隔逗号值的所有行

时间:2015-01-08 13:47:34

标签: php mysql sql

我有下表,如下所示

enter image description here

我使用以下查询来获取具有mca或btech或两者的组合的记录

select `name` from driver_qualification 
where find_in_set('mca,btech', `qualification`) > 0 

动态$ data ['资格'] = mca,btech

等资格

但它返回dharmendra和kapil但不是jitendra

请帮我,我必须根据资格搜索所有数据。 另外我无法改变数据库结构b'因为所有项目都有依赖关系plz 使用php和mysql提供解决方案

2 个答案:

答案 0 :(得分:4)

select `name` from driver_qualification 
where find_in_set('mca', `qualification`) > 0 
or find_in_set('btech', `qualification`) > 0 

答案 1 :(得分:1)

您可以将find_in_set()替换为in(),它可能会更快 -

SELECT `name` 
FROM `driver_qualification` 
WHERE `qualifications` IN('mca','btech','mca,btech')

IN()本质上是一个很大的or条件。