我正在尝试在 LEFT JOIN 上使用 MATCH 语句,但我不断收到:
Incorrect arguments to AGAINST
这就是我正在尝试的:
SELECT *
FROM Posts
LEFT JOIN `Follow_Searches`
ON MATCH(`Posts`.`B`) AGAINST (`Follow_Searches`.`B`)
如何才能做到这一点?
那是做不到的。从手册:
使用 MATCH() ... AGAINST 语法执行全文搜索。MATCH() 采用逗号分隔的列表来命名要搜索的列。AGAINST 接受一个要搜索的字符串和一个可选的修饰符,指示要执行的搜索类型。搜索字符串必须是文字字符串,而不是变量或列名。
强调我的。
JOINing 数据,您必须在关键字 ON 之后指定将要连接数据的字段(例如 ON table1.id = table2.id)。
也许在您的情况下,您应该进行笛卡尔乘法并在 WHERE 中使用 MATCH-AGAINST 或其他比较函数。