我需要对另一张表的一个列中的大量值进行全文搜索。由于MATCH()需要AGAINST()部分中的一个值,因此直接使用"SELECT a.id FROM a,b WHERE MATCH(b.content) AGAINST(a.name)"这样的查询将会失败并显示"Incorrect arguments to AGAINST"。
我知道可以编写脚本来查询名称列表,然后再搜索它们,但我更愿意想出一个更复杂的查询,可以一次性处理所有内容。它不需要速度很快。
有什么想法吗?
谢谢!
我需要对另一张表的一个列中的大量值进行全文搜索。由于MATCH()需要AGAINST()部分中的一个值,因此直接使用"SELECT a.id FROM a,b WHERE MATCH(b.content) AGAINST(a.name)"这样的查询将会失败并显示"Incorrect arguments to AGAINST"。
我知道可以编写脚本来查询名称列表,然后再搜索它们,但我更愿意想出一个更复杂的查询,可以一次性处理所有内容。它不需要速度很快。
有什么想法吗?
谢谢!
FULLTEXT
索引作为搜索解决方案,那么看起来您将不得不逐个搜索模式。希望我的解决方案对你有用:
PREPARE stat FROM 'SELECT user_profession FROM users INNER JOIN professions ON MATCH(user_profession) AGAINST (?)';
SET @c_val = (SELECT prfs_profession FROM professions WHERE prfs_ID=1);
EXECUTE stat USING @c_val;