다른 두 테이블의 ID를 연결하는 테이블을 가지고있을 때 여러 명령문을 쿼리 할 수 있기를 원합니다.MySQL에서 여러 조건에 대한 쿼리
내 세 개의 테이블 마지막 키워드로 목적지를 연결하기 위해, destination- 및 키워드 테이블에서 ID를 연결
destination:
id_destination, name_destination
keyword:
id_keyword, name_keyword
destination_keyword:
id_keyword, id_destination
.
다음
SELECT destination.name_destination FROM destination
NATURAL JOIN destination_keyword
NATURAL JOIN keyword
WHERE keyword.name_keyword like _keyword_
과 같을 것이다 키워드를 기반으로 대상을 얻을 수있는 쿼리의 내가있는 키워드의 전부 또는 일부 일치하는 목적지를 얻고 싶었다 가정 해 봅시다, 복수 키워드를 조회 할 수 있나요 sunny, ocean, fishing
목록과 일치하는 항목 수. 나는 어떻게 앞으로 나아갈 것인가? 테이블을 재구성해야합니까? 나는 SQL에 익숙하지 않으며 약간의 입력을 매우 좋아할 것이다.
SELECT dest.name_destination, count(*) FROM destination dest, destination_keyword dest_key, keyword key
WHERE key.id_keyword = dest_key.id_keyword
AND dest_key.id_destination = dest.id_destination
AND key.name_keyword IN ('sunny', 'ocean', 'fishing')
GROUP BY dest.name_destination
ORDER BY count(*), dest.name_destination
그것을 테스트하지 않은,하지만이 수정되지 않은 경우 그것은 당신에게 그것을 달성하는 방법을 표시해야합니다 :
'name_keyword' 값이 "sunny"같은 단일 단어입니까? – Bohemian
그들은 한 마디입니다. – Martol1ni