mysql - vb.net 中的通用搜索框并从多个表中进行检查

标签 mysql asp.net vb.net

我的概念有点不清楚。我想为我的网站创建一个搜索框。我将使用自动完成功能从数据库中检查相关关键字。因此,在输入匹配的单词时,将会出现建议。但我不确定如何通过多个表进行检查。我的概念是基于健康的网站,因此每个部分(如医院、医生、实验室、药剂师等)都有不同的表格。我只需要指导我该怎么做?

最佳答案

您可以使用联合查询返回文本框的自动完成数据。例如,您可以编写一个针对搜索词的查询,可以执行以下操作:

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/

相关文章:

php - 将我的文件链接到任何内容并覆盖 mysql.sock

asp.net - 在 SqlDataSource 的 SelectCommand 中使用下拉列表的选定值

vb.net - VB.NET 中的类与模块

c# - 在 ASP.Net 中注册事件的最佳位置

vb.net - Mono VB .Net 应用程序,缺少 System.Collections.Generic Mac OS X

c# - 在 WPF 窗口上设置可见性 ="Hidden"不再显示该窗口

php - 我找不到我的错误; Ajax 请求返回空

mysql - SqlAlchemy 在查询表对象时不返回所有行,但在查询表对象列时返回所有行

php - 对于每个选择的表单选项,添加到 mysql

javascript - Ajax.Utility.RegisterTypeForAjax 未注册 ajax 类型