gpt4 book ai didi

mysql - 使用 2 个表中的数据对列进行全文搜索

转载 作者:行者123 更新时间:2023-11-30 21:39:48 25 4
gpt4 key购买 nike

我在 MySql 数据库中有两个表,名为“患者”和“国家/地区”。病人表包含

'name','dob',postcode','address', 'country_id'
国家表有
'id' 和 'country_name' 列。

现在,我希望用户输入患者姓名、邮政编码或国家/地区中的任何内容,并获得所需患者的结果/数据。

要实现这一点,我能想到的一种方法是使用连接执行查询。换句话说,我想问的是,当用户输入搜索变量时,将名称、邮政编码和国家/地区等搜索变量以类似“name_postcode_country”的方式存储在具有全文类型的列中是否是一种好方法我对新创建的列执行全文搜索。

或者我应该考虑其他任何更好的方法。

最佳答案

将所有这些信息保存在一个列中不是一个好主意,您可以将这样的组合与 SELECT 结合使用,以加入提到的表:

select p.name, p.dob, p.postcode, p.address,
c.country_name
from Patients p
inner join Country c
on ( p.country_id = c.id )
where ( upper(name) like upper('%my_name_string%') )
or ( upper(postcode) like upper('%my_postcode_string%') )
or ( upper(country) like upper('%my_country_string%') );

您需要使用upperlower 伪列来解决区分大小写 问题。

关于mysql - 使用 2 个表中的数据对列进行全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52177383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com