我想执行查询,其中WHERE
clausule具有以下条件:
MATCH
表格中的一个FTS3
条件
OR MATCH
表格中的列上的另一个非FTS
条件。示例:
说我有两张桌子
FTS
表格。我想在其内容中搜索所有包含“Dikjstra”的书籍,或者使用“算法”字词进行标记。所以我运行这个查询:
SELECT * from books_fts
LEFT OUTER JOIN books_tags ON books_fts.fk_id = books_tags.id
WHERE (books_fts MATCH 'content:%Dijkstra*')
OR (books_tags.tag = 'algorithm')
我认为查询是正确的,如果我使用其中一个OR
claus运行它,它就可以了。
但是,当使用两个clausule运行它时,我得到以下错误:
unable to use function MATCH in the requested context
我觉得我无法在MATCH
子句中合并MATCH
和非WHERE
,即使每个子句都适用于不同的表格(一个FTS
和另一个非FTS
)。
这是真的?我无法找到相关信息。
注意:如果使用AND
而不是OR
分隔小词,则查询有效。
感谢。
答案 0 :(得分:0)