【问题标题】:Microsoft Access: why isn't my query from an unrelated table working?Microsoft Access:为什么我从不相关表中的查询不起作用?
【发布时间】:2018-08-15 19:11:13
【问题描述】:

我在 Microsoft Access 中有一个包含大约 300 万个条目的数据库。但是,我只对选定数量的条目感兴趣。我在三个不同的、不相关的表中有一个大约 500 个单词的列表,我只希望在我的查询后显示其中这 500 个单词中的一个出现在其内容中的数据库条目。

我的数据库的内容

  • Database_id
  • 数据库作者
  • 数据库内容
  • Searchterm_1
  • Searchterm_2
  • Searchterm_3

到目前为止,我已经能够使用此代码一一查找结果:

SELECT DB_timesplit.content
FROM DB_timesplit
WHERE (((DB_timesplit.content) Like "*" & [Enter search term] & "*" ));

我已经设法通过具有以下内容的实践数据库获得了结果:

SELECT testdb.[content], searchdb.[keyword]
FROM testdb INNER JOIN searchdb ON testdb.[content]=[searchdb].[keyword]
WHERE ((([testdb].[content] Like "*" & [searchdb].[keyword] & "*"));

但是,每当我将练习数据库的值更改为我的实际值时,我都没有得到任何结果。任何人都可以尝试向我解释我缺少什么吗?

【问题讨论】:

  • 您是否收到错误消息或查询未完成?
  • 查询完成但没有结果

标签: sql database ms-access


【解决方案1】:
INNER JOIN searchdb ON testdb.[content]=[searchdb].[keyword]

WHERE ((([testdb].[content] Like "*" & [searchdb].[keyword] & "*"));

您的代码只会匹配 [content] 完全等于 [keyword] 的位置。

通配符永远不会匹配任何内容,因为它们被应用于只包含完整匹配项的 INNER JOIN 的结果。

如果你去掉 INNER JOIN,我相信你会得到你期望的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-10
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多