在oracle / sql中获取与之匹配的匹配项

时间:2014-01-31 09:51:13

标签: sql database oracle

我在数据库中有以下数据集,

name    city        from       to
john    ny   01.03.2005   09.06.2005
john    ln   10.06.2005   29.09.2005
john    ca   30.09.2005   20.09.2013
arun    va   20.09.2007   15.09.2008
arun    ny   16.09.2008   09.06.2009

当我搜索给定输入作为名称:john,从10.05.2005和02.09.2005,它应该返回前两个记录,如果我提供04.06.2005和09.06.2005,那么它应该返回第一个记录。

我有这个查询(('input from date' <= 'db from date' and 'db from date' < 'input to date') or ('db from date' <= 'input from date' and 'input from date' < 'db to date')),但我搜索的数据集很大,而且这个查询一直在运行。我正在努力寻找有效的查询。

希望有人能在这里提供答案。谢谢你的回答。

1 个答案:

答案 0 :(得分:0)

如果[from]和[to]列中有唯一的日期值,则可以为这些列设置唯一的聚簇(或非聚集)索引(升序)。如果它没有帮助,请再次发表评论