0

我正在尝试在 LEFT JOIN 上使用 MATCH 语句,但我不断收到:

 Incorrect arguments to AGAINST

这就是我正在尝试的:

SELECT *
FROM Posts
LEFT JOIN `Follow_Searches` 
ON MATCH(`Posts`.`B`) AGAINST (`Follow_Searches`.`B`)

如何才能做到这一点?

4

2 回答 2

0

那是做不到的。从手册

使用 MATCH() ... AGAINST 语法执行全文搜索。MATCH() 采用逗号分隔的列表来命名要搜索的列。AGAINST 接受一个要搜索的字符串和一个可选的修饰符,指示要执行的搜索类型。搜索字符串必须是文字字符串,而不是变量或列名。

强调我的。

于 2012-07-30T23:02:41.440 回答
0

JOINing 数据,您必须在关键字 ON 之后指定将要连接数据的字段(例如 ON table1.id = table2.id)。

也许在您的情况下,您应该进行笛卡尔乘法并在 WHERE 中使用 MATCH-AGAINST 或其他比较函数。

于 2012-07-30T23:04:54.400 回答