如何在Android中使用子查询

时间:2015-12-09 11:47:22

标签: android sqlite

我想得到带有多个LIKE子句的多个where条件的结果。我尝试使用下面的查询:

 select * from  ALL_Post where ActiveStatus = '1' AND Status = 'PENDING' AND inspectorName LIKE '%"+searchText+"%' OR REMARK  LIKE '%"+searchText+"%' OR HashTag LIKE '%"+searchText+"%' ORDER BY ActionDate DESC

但是我希望得到结果,当至少任何条件为真时,ActiveStatus ='1'和Status ='PENDING',带有OR子句和OR子句。

但是查询不能返回正确的结果。可以建议如何在上面写出正确的查询。

1 个答案:

答案 0 :(得分:1)

documentation记录了AND和OR运算符的优先级。要以不同的顺序评估它们,您必须使用括号:

SELECT *
FROM ALL_Post
WHERE ActiveStatus = '1'
  AND Status = 'PENDING'
  AND (inspectorName LIKE '%"+searchText+"%' OR
       REMARK        LIKE '%"+searchText+"%' OR
       HashTag       LIKE '%"+searchText+"%')
ORDER BY ActionDate DESC;