【问题标题】:MS Access Partial Match 2 TablesMS Access 部分匹配 2 表
【发布时间】:2015-09-21 00:49:19
【问题描述】:

在 MS Access 中,如果它们包含在表 A 中的任何位置(部分匹配),我需要排除一个大的单词列表(表 B)。我知道如何将 IS NULL 与通配符一起使用,但这不起作用,因为我的列表中要排除的记录远远超过 1,000 条。请参阅下面的示例...

表 A:
这里最好的红苹果
这里最好的成熟苹果

表-B:
红苹果

QUERY1(结果):
这里最好的熟苹果

注意:我使用的是 MS Access 2007

【问题讨论】:

    标签: sql ms-access ms-access-2007


    【解决方案1】:

    一种方法是使用not exists:

    select a.*
    from tablea as a
    where not exists (select 1
                      from tableb as b
                      where instr(a.phrase, b.word) > 0
                     );
    

    注意:这不能利用索引,因此在大型表上性能不会很好。

    【讨论】:

    • 您是否建议列出以上代码中的所有短语单词?
    • 由于某种原因Access不接受上面的代码,所以还是没有解决。
    • 弄清楚如何让您提供的查询字符串起作用。非常感谢你。对于非常大的表,还有其他解决方案吗?
    猜你喜欢
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-22
    • 2021-12-06
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多