我的概念有点不清楚。我想为我的网站创建一个搜索框。我将使用自动完成功能从数据库中检查相关关键字。因此,在输入匹配的单词时,将会出现建议。但我不确定如何通过多个表进行检查。我的概念是基于健康的网站,因此每个部分(如医院、医生、实验室、药剂师等)都有不同的表格。我只需要指导我该怎么做?
最佳答案
您可以使用联合查询返回文本框的自动完成数据。例如,您可以编写一个针对搜索词的查询,可以执行以下操作:
select hospitals.name as name
from hospitals
where hospitals.name like '%?%'
UNION
select doctors.lastname as name
from doctors
where doctors.lastname like '%?%'
UNION
select laboratories.labname as name
from laboratories
where laboratories.labname like '%?%'
UNION
...
但要小心:这样的性能可能会快速下降,尤其是对于像上面的示例这样的“包含”搜索(like '%?%'
)。
更快的查询是“starts with”,它将上面查询中的 like 子句更改为 like '?%'
关于mysql - vb.net 中的通用搜索框并从多个表中进行检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37087005/