sqlite3 – Sqlite FTS,在匹配运算符之间使用OR

当我在sqlite引擎(
android或sqlitebrowser)中执行以下查询时,它会抛出一个异常,表示无法在请求的上下文中使用函数MATCH.

select
    a.Body1,
    b.Body2
from
    tbl1_fts  as a,
    tbl2_fts  as b
where
    a.ID = b.ParentID and

    (
        a.Body1 match('value') or
        b.Body2 match('value')
    )

– 两张桌子都有fts.
-Using And运算符在两个匹配(而不是OR)之间正常运行.

如何解决此问题或更改查询以查找具有上述条件的行?

最佳答案 你不能使用OR操作,只需更改你的匹配关键字.

喜欢

SELECT * FROM docs WHERE docs MATCH’sqlite OR database’;

或者也许你可以使用联盟

SELECT docid FROM docs WHERE docs MATCH’sqlite AND database’
  联盟
SELECT docid FROM docs WHERE docs MATCH’library’;

点赞