2009-10-27 3 views
1

내가해야 할 일은 회사 및 태그 테이블 및 목록 회사에서 검색하는 것입니다.하위 쿼리로 여러 테이블 검색

내 테이블 구조는 다음과 같습니다.

태그 (tag_ID, 태그) tag_relation (tag_ID, COMPANY_ID) 회사 (COMPANY_ID, COMPANY_NAME, company_description)

쿼리는 두 회사 정보 (이름, 설명) 및 태그를 검색 할 수 있어야한다. 태그가 검색되면 관련 회사가 반환해야합니다.

답변

2

"유사"검색을 실행한다고 가정하면 아래 코드를 사용할 수 있습니다. 매우 큰 테이블을 사용하는 경우 와일드 카드가 인덱스 사용을 막아 성능이 크게 나빠질 수 있습니다. 하지만 오류 (1064) 받고 있어요

select  companies.company_id, companies.company_name, companies.company_description 
from  companies 
inner join tag_relation 
on   companies.company_id = tag_relation.company_id 
inner join tags 
on   tags.tag_id = tag_relation.tag_id 
where  companies.company_name like '%something%' 
or   companies.company_description like '%something%' 
or   tag.tag like '%something%' 
group by companies.company_id, companies.company_name, companies.company_description 
order by companies.company_name 
+0

덕분에이 회사 테이블과 하위 쿼리로 확인이 잠시 올려과 관련 태그 .. –

+0

미안해 내 잘못이 있다면 그렇게 할 수있는 방법입니다 .. 잘 작동하는 것 같습니다! 고마워요! –

관련 문제