2013-05-21 108 views
0

我正在验证表中是否存在一组字段值(例如:yyy,aaa和ccc),并且正在使用UNION收集我的结果,宁愿更多优雅和高效的解决方案:MySQL检查表中是否存在一组字段

表名:Example_Table

名称|类

xxx | CSE <BR> 
yyy | EE <BR> 
zzz | MECH <BR> 
aaa | CSE <BR> 
bb | CSE <BR> 

我的查询:

SELECT IF(Name IS NULL,"yyy ","") 
FROM Example_Table where (Name LIKE '%yyy%') 
     UNION 
(SELECT IF(Name IS NULL,"aaa ","") 
FROM Example_Table where (Name LIKE '%aaa%')) 
     UNION 
(SELECT IF(Name IS NULL,"ccc ","") 
FROM Example_Table where (Name LIKE '%ccc%')); 

我需要知道我需要的字符串值中不存在的表。问题是,我使用的表有大约数千元的元组,使用UNION看起来非常昂贵。

回答

0

寻找字符串永远不会优雅;)但是如果您想缩短代码,请尝试一下IN。类似的东西来......

...WHERE Name IN ('yyy','aaa','ccc')....

+0

感谢您的答复...但我还需要知道哪些字符串都存在的,哪些不是! – user1840691