0

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

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

因此,这就像“向我展示记录,而不是在它可能这么说的 5 个字段中的任何一个字段中包含关键字“环境”。”

我对此很陌生,有点沮丧。

感谢所有的帮助!

4

1 回答 1

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
  • 可连接的有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'
于 2013-05-22T13:49:12.823 回答