【问题标题】:Database Search that Compares Results for Mutiple Seach Keywords比较多个搜索关键字的结果的数据库搜索
【发布时间】:2014-12-26 15:39:12
【问题描述】:

拳头,让我说我对 SQL 语言知之甚少,并且正在努力学习(尽管速度很慢)。我创建了一个包含

列的数据库表
ECOREGION_ID  
ECOREGION_NAME 
SPECIES_NAME 
CLASS

这样每个生态区域中的每个物种名称都有一行。我的最终目标是创建一个表单,我可以在其中输入多个物种名称并搜索它们共享的生态区域。例如,如果我输入 4 个不同的搜索框“老虎”、“小熊猫”、“懒熊”和“犀牛”,它会显示这四个物种共享的所有生态区列表。我想知道一些事情:

  1. 我的数据是否以正确的方式设置以执行此操作,或者是否有更有效的设置方式?

  2. 我应该使用什么语句来创建一个sql语句来执行我想要的搜索?

  3. 我想做的事情的技术术语是什么?我在不同的论坛上尝试了许多不同的搜索,但似乎找不到我要找的东西,主要是因为我可能不知道要搜索什么,哈哈。

谢谢,

-画了

【问题讨论】:

    标签: sql database search


    【解决方案1】:

    您在同一个表中有 ECORegion_ID 和 ECORegion_Name。我建议创建一个单独的表来保存 ECORegions。该表将同时具有 ID 和名称。搜索表将只有 ECORegion_ID。这个过程称为标准化。它基本上减少了数据库中的冗余数据。

    您正在寻找一个 SELECT 语句,该语句用于从一个或多个表中提取数据。该语句有一个 WHERE 选项来限制您带回哪些行,还有一个 IN 表达式作为 WHERE 的一部分,以允许您查找多个关键字。

    搜索 Normalization 以了解为什么将区域名称放在单独的表中。查找 SQL Select 以获取 select 语句的语法,您应该有一个良好的开端

    【讨论】:

    • 谢谢您的回复,我下载的原始数据库在多个表中都有所有这些信息(规范化),作为一个新手我认为它比它必须的更复杂并将这些东西连接在一起,大声笑,哎呀!是否有关于如何设置表单的好教程(带有关键字搜索框、搜索结果框等)。我最终是否需要创建一个宏来执行搜索。我希望这个过程更加自动化,这样我就可以为客户提取这些信息,而不必每次要查找某些内容时都编写一个选择语句。再次感谢。
    • 很大程度上取决于数据库软件和编程语言。有很多选择。你使用 Windows 吗?如果您可以提供一些有关您的环境类型的背景信息,我可以为您提供一些教程
    • 我在 Windows 7 上使用 Open Office Base 4.1.1
    猜你喜欢
    • 1970-01-01
    • 2015-05-16
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多