2013-05-21 51 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