数据库查询语法问题

问题描述:

我得到一个语法错误在我的查询:数据库查询语法问题

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%') 
它的工作原理是

。有人请帮我找到这个问题

如果你有多个值来检查,你需要使用IN代替LIKE

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

如果您在尝试

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

使用IN操作符 SQLite的。这是用于精确匹配,如果你想获得那么所有的比赛是指@laalto答案

试试这个:

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

注: -像刚才节选一个参数。

组合多个LIKE表达式,使用OR

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

IN正如在许多其他的答案中提到了,这是完全匹配,不LIKE模式匹配的问题。