2012-05-07 3 views
0

세 테이블이 있습니다.3 테이블 조인

하나는 기사와 함께 있고, 하나는 기사의 태그가 있고,이 테이블을 연결하는 테이블은 다 대다 관계이기 때문에이 테이블을 연결하는 테이블입니다. 각 기사에는 몇 개의 태그가 있으며 태그 테이블을 작게 유지하고 데이터 정수를 연결하려면 테이블이 필요합니다.

이제 특정 키워드에 대한 태그를 검색하고이 태그에 링크 된 기사를 선택해야합니다. 가장 효율적인 방법은 무엇입니까? 여기에 테이블의 시각적 표현이다 :

enter image description here

+2

당신은 무엇을 시도? _ "가장 효율적인 방법"_이 될 필요는 없지만, 방법. – gdoron

답변

2

가장 효율적인 방법은 문서/문서를 검색 할 수있는 관계형 DB를 사용하는 하지입니다. 그것은 포르테가 아닙니다. 예를 들어 SOLR은 완벽 할 것입니다.

그러나 :

SELECT 
    a.id 
FROM 
    article a 
    join 
    article_tags b 
    on 
    a.id = b.article_id 
    join 
    tags c 
    on 
    b.tag_id = c.id 
where 
    c.tag_name = {$cleaned_input_tag_name} 

이 유 ALOS c.tag_name = {$cleaned_input_tag_name} 을 만들 수있는 IN 문 또는 LIKE