2013-05-22 1 views
0

각 레코드에 "키워드"라는 5 개의 필드가 있습니다.ACCESS 2007 : If/Or Query Trouble Shooting

공통 키워드를 공유하는 레코드 만 선택하고 식별하는 쿼리를 작성하고 싶습니다.

그래서 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' 

, 당신은 당신의 DB 구조를 재고해야 :이 작업을 수행하는 표준 방법은, 테이블, 키워드 테이블과 관절 식을하는 것입니다 :

테이블은 ID가
  • 키워드 표는 키워드와 ID를 가지고
  • 관절 식는 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'