ACCESS 2007:如果/或查询故障排除

时间:2013-05-22 13:37:43

标签: ms-access-2007

我有5个“关键字”字段已分配给每条记录。

我想构建一个查询,只选择和识别那些共享一个共同关键字的记录。

所以它会像“给我记录一样,而不是关键词”环境“在它可能会说的5个字段中。”

我对此很陌生并且有点沮丧。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

SELECT
  * -- or whatever fields you need
FROM tablename
WHERE
  keyword1='environment' -- maybe keyword1 LIKE '%environment%'
  OR keyword2='environment'
  OR keyword3='environment'
  OR keyword4='environment'
  OR keyword5='environment'

那就是说,你应该重新考虑你的数据库结构:这样做的规范方法是拥有你的表,一个关键字表和一个连接表:

  • 您的表格有ID
  • 关键字表格包含关键字和ID
  • jointable有yourtable.ID和keywords.ID

这样你可以

  • 将任意数量的关键字附加到您的记录
  • 让您的关键字保持一致(“剧院”与“剧院”)
  • 进入关键字国际化的大门
  • 摆脱我们开始的查询:现在读取

SELECT
  yourtable.*
FROM yourtable
INNER JOIN yourtable_keywords ON yourtable.ID is yourtable_keywords.yourtableID
INNER JOIN keywords ON keywords.ID is yourtable_keywords.keywordID
WHERE keywords.keyword='environment'