在一个查询中搜索多个表(MySQL / PHP#)

时间:2011-03-10 00:38:39

标签: php mysql database search

我有大约15个表,每个表包含大约10,000行和大约30列。我希望我的网站用户能够搜索零件号或产品/描述并显示结果。无论它在哪个表中。

每个产品页面与每个相应表格的名称相同。因此,如果找到了产品,它只会显示指向正确页面的链接(文件名是表格的名称)。

我们不能只做以下事情:

query =“在dbase.tables中查找$ q”; ?

如果表中存在$ q,请返回找到的表的名称吗?

感谢任何帮助!

谢谢

2 个答案:

答案 0 :(得分:0)

为什么你有这么多桌子?为什么不只有一个部分#的表,而不是另一个描述表并加入部件号?

答案 1 :(得分:0)

如果所有表都具有相同的结构,您可以这样做。 (听起来这是一个简单的手动分区方案。)

连接多个表,你可以使用

SELECT * FROM tbl1
UNION ALL
SELECT * FROM tbl2
...

要获得简单的访问方法,您可以在该连接上创建一个视图:

CREATE VIEW alltables AS
    SELECT * ... UNION ... 

从未测试过这个。但是这个视图会促进SELECT * FROM alltables WHERE find($q)... - 当然,您仍需要对列进行有效查询。