首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql:在子查询中使用a()

问Mysql:在子查询中使用a()
EN

Database Administration用户
提问于 2022-03-17 16:48:44
回答 1查看 35关注 0票数 0

我正在选择一个MATCH()和AGAINST(),以便快速计算来自另一个表的数据。

对于单个字符串,我可以轻松地做到:

代码语言:javascript
复制
SELECT * from persons WHERE MATCH(full_name) AGAINST('"DOE, JOHN"');

AGAINST()是否可能包含一个列名作为参数,并使用CONCAT()来生成类似的参数AGAINST('"DOE, JOHN"');?

我已经尝试了下面的查询,但这是不成功的。

代码语言:javascript
复制
 SELECT id,
        full_name,
        citymun_id,
        (SELECT COUNT(*) from other_persons WHERE MATCH(other_persons .full_name) AGAINST(CONCAT('"',persons.full_name,'"')) as person_count
 FROM persons
EN

回答 1

Database Administration用户

发布于 2022-03-17 17:01:50

https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html说:

AGAINST接受要搜索的字符串和指示要执行的搜索类型的可选修饰符。搜索字符串必须是查询计算期间常量的字符串值。例如,这排除了表列,因为每一行的表列都可能不同。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/308880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档