因此,我的目标是在应用程序中有一个搜索字段,能够搜索多个表并返回结果。可以使用单个查询搜索多个表吗? [MSAccess/SQL Server]
例如,其中两个表是“表演者”和“场地”,并且有以下表演者:“约翰安德鲁斯”,“安德鲁史密斯”,“约翰多伊”和以下场地:“圣安德鲁教堂“,“市政府”。有办法以某种方式返回前两个表演者和搜索“安德鲁”的第一个场地吗?
我的第一个想法是以某种方式将所有表格汇总成一个单列表, “SearchableText”, “与resultType”, “ResultID”。第一列将包含我想要搜索的任何内容(例如Performer名称),第二列将说明正在显示的内容(例如Performer),第三列将说明该项目的ID(注意:为了方便起见,我的所有表格都自动递增主键) 。这个想法的问题是有可能以某种方式动态地做到这一点,或者我必须添加代码来创建一个表格,该表格在执行者和场地表格更新/添加/删除新行(可能通过触发器?)时自动填充。
我的应用程序是在MSAccess(我知道,我知道,但我别无选择)在SQL Server后端编写。我更喜欢这种情况通过MSAccess,所以我不必有一个“搜索”表坐在我的SQL Server,但任何好的结果是可以接受的:)
这将导致非常低效的查询,如果你的表是任何大小的,因为它不能使用索引。你最好使用全文索引或者编写SQL来查询没有UNION的多个表。 – 2008-12-23 03:48:32