2015-02-11 67 views
0

我有一个包含多个表和一个Web用户界面的数据库。我希望用户能够搜索数据库中的数据。 搜索结果可能来自多个表格以及它们之间的连接。如何在多个数据库表中实现动态搜索

例如:参数来自表A,B,从B表ECT”,所以如果他搜索了& B及He会得到从A & B.

所以我想编写代码的结果这将根据用户执行的搜索动态生成SQL查询。

但是这种方法实现起来非常复杂,因为我将不得不为每个搜索生成一个不同的查询 - 如果他搜索'a'以便查询将包含'A'并且如果他搜索'b'它会包含'B',并且如果他搜索'a'&'b',它将包含'A'&'B'。

所以我的问题是 - 是否有一个更简单的方法来实现搜索或我需要编写一个代码加载“如果”?

感谢所有

+0

什么样的数据存储在表A和B?并且,如何知道参数是真实参数a?一个像我这样的人怎么会说?如果你可以决定这个逻辑,那么动态SQL将变得很容易 – Ahmad 2015-02-11 09:37:11

+0

也可以用你的db标签编辑你的问题,sql只是一种语言。 – Mihai 2015-02-11 09:39:32

+0

对于学生我的查询将如下所示:select * from A.如果他正在搜索一个等级,查询将是:从B选择*,但如果他将搜索学生的成绩,则查询将为:select *从A join B等'。所以我的代码应该为不同的搜索组合生成不同的“from”和“where”子句? – Shmuli 2015-02-11 09:52:17

回答

0

我真的不知道你的数据库是如何设计的,但你可以设计一个searchingmechanism其中用户可以chooze其数据库/ S,他希望(在frontendside当然用户友好的标识符)进行查询。在你的数据库中,你可以为你的表指定一个包含元信息的表,例如表格名称,要搜索的列等

当用户告诉界面哪个Categorys(tbls)他想要搜索的时候,你可以将Parameter与一个给定的索引混合(你可以计算逗号),然后做一个while循环for搜索该字符串中所有tbls的索引计数,将RS插入临时表#1,#2,#3,...选择它们并执行它们。

你必须考虑不同的数据类型等。它不那么容易tbf