AND

2012-11-08 3 views
0

을 기반으로 태그 데이터베이스를 기반으로 고유 한 SQL 쿼리를 반환합니다. 여전히 복잡한 SQL 쿼리를 배우려고 노력하고 있으며 원하는 결과를 반환하기가 어렵습니다.AND

사용자 의지 입력 하나 이상의 키워드 및 쿼리는 키워드를 통해 장소에 넣어 제한에 따라 주제를 반환합니다

예 DB : 테이블 :

keywords 
------- 
keyword_id 
keyword 


topics 
------- 
topic_id 
topic_other_stuff 

topics_keywords 
------- 
tk_id 
topic_id 
keyword_id 

각 topic_id 수 여러 개의 키워드가 첨부되어 있어야합니다.

사용자가 2 개 이상의 키워드를 입력하는 경우 topic_keywords 테이블을 통해 두 키워드가 모두 연결된 항목 만 반환하는 쿼리를 가져 오려고합니다.

도움이 될 것입니다.

감사합니다.

답변

1
select t.topic_id 
from topics_keywords t 
inner join keywords k on t.keyword_id = k.keyword_id 
where k.keyword in ('keyword1', 'keyword2') 
group by t.topic_id 
having count(distinct k.keyword_id) = 2 
+0

'FROM topic_id ti'부분에 대해 약간 혼란 스럽습니다. 이 열 또는 테이블을 참조해야합니까? –

+0

감사합니다. 여전히 쿼리를 실행하는 데 문제가 있습니다. topics_keyword 테이블을 참조하거나 조인해야합니까? –

+0

완벽하게 작동합니다! 고맙습니다 –