如何最好地搜索多个数据库表以获取用户提供的查询字符串并返回信息。
比如说我有5个表(客户,供应商,采购订单,零件和员工),我想构建一个统一的搜索页面来搜索所有表并返回数据。用户可以输入一个查询字符串,如“foo”,我需要搜索customers.companyName,customers.primaryContact,...,Employees.lastName
我如何才能有效地实现这一目标,这样做就像选择一样不可行。
SELECT *
FROM customers
WHERE companyName LIKE '%foo%' OR primaryContact LIKE '%foo%'
我无法将数据源合并在一起,因为它们具有不同的模式。
答案 0 :(得分:0)
你需要按表返回比赛吗? (即" 4 foo Costumers,3 Part等等#34;)。如果您的答案为否,您可以像这样建立一个UNION:
Select match from
(select name as match from costumers where name like'%foo%' UNION
select category as match from products where category like'%foo%' ...)
PS:在评论中写这个太乱了。