2016-03-04 119 views
0

我得到一個語法錯誤在我的查詢:數據庫查詢語法問題

near ",": syntax error:

我的查詢是

select 
    emplnmbr, empname, desigtxt 
from 
    emp_header 
where 
    CMPYCODE = 'MMPL' 
    and orguntxt like ('%MARKETING%', '%PERSONNEL&ADMINISTRATION%') 

如果我有一個值y替換查詢

select 
    emplnmbr, empname, desigtxt 
from 
    emp_header 
where 
    CMPYCODE = 'MMPL' 
    and orguntxt like ('%MARKETING%') 
它的工作原理是

。有人請幫我找到這個問題

回答

2

如果你有多個值來檢查,你需要使用IN代替LIKE

SELECT 
    emplnmbr, empname, desigtxt 
FROM 
    emp_header 
WHERE 
    CMPYCODE = 'MMPL' 
    AND orguntxt IN ('%MARKETING%', '%PERSONNEL&ADMINISTRATION%') 
1

如果您在嘗試

SELECT emplnmbr,empname,desigtxt FROM emp_header WHERE CMPYCODE ='MMPL' AND orguntxt IN ('%MARKETING%','%PERSONNEL&ADMINISTRATION%') 

使用IN操作符 SQLite的。這是用於精確匹配,如果你想獲得那麼所有的比賽是指@laalto答案

0

試試這個:

select emplnmbr,empname,desigtxt from emp_header where CMPYCODE = 'MMPL' and orguntxt IN ('%MARKETING%','%PERSONNEL\&ADMINISTRATION%') 

注: -像剛纔節選一個參數。

0

組合多個LIKE表達式,使用OR

orguntxt like '%MARKETING%' or orguntxt like '%PERSONNEL&ADMINISTRATION%' 

IN正如在許多其他的答案中提到了,這是完全匹配,不LIKE模式匹配的問題。