SQL中的多关键字搜索

时间:2013-01-08 05:31:23

标签: sql delphi keyword

我有3个字段:LastName,MRnumber和SSN。所有3个都是患者记录的一部分。现在,用户可以搜索1,2或全部3个关键字。 MRnumber或SSN是唯一的,每个都将检索一个唯一的记录。但是,这些值并不总是存在。例如,患者不想给他的SSN。请记住,会有很多记录,这是最好的方法吗?我正在使用MS Access和Delphi(如果它很重要)。

1 个答案:

答案 0 :(得分:1)

在解释您的问题时如下:

每条记录都有 姓氏,不是唯一的,总是存在的 MRNumber,唯一,可选
SSN,唯一,可选

您搜索(姓氏和SSN)或(姓氏和MRNumber和SSN)的(LastName和MRNumber)

但由于MRNumber和SSN都是唯一的,因此最后一次搜索是多余的。

您没有告诉使用您正在使用的组件,因此只能通用答案。 假设您的Delphi应用程序进行了一些预处理,我会这样做:

If MRNumber given
  search on (LastName and MRNumber)
else
  If SSN given
    search on (LastName and SSN)
  else
    message(Insufficient data)