2013-05-22 84 views
0

我有5個字段的「關鍵字」已分配給每個記錄。訪問2007:如果/或查詢故障排除

我想建立一個查詢,將選擇和識別只有共享關鍵字的記錄。

因此,它可能就像「在我看到的5個字段中的任何一箇中顯示記錄而不是關鍵字」環境「。」

我很新,並且有點沮喪。

感謝您的幫助!

回答

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' 

這就是說,你應該重新考慮你的數據庫結構:本規範的方式做到這一點,是有你的表,關鍵詞表和jointable:

  • 你的表有一個ID
  • 關鍵字表具有關鍵字和ID
  • 的jointable有yourtable.ID和keywords.ID

這樣你可以

  • 附加關鍵字的任意數爲您記錄
  • 保持關鍵字consitent(「戲劇」與「戲劇」)
  • 在車門一英尺的關鍵字國際
  • 擺脫我們開始的查詢:現在顯示爲

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'