Select maintable.name FROM maintable
JOIN genres genre1 USING (tmdb_id)
JOIN genres genre2 USING (tmdb_id)
WHERE genre1.genres_name = 'Action'
AND genre2.genres_name = 'Drama'
group by maintable.name
다음 genres
은 테이블 이름입니다. genres_name
열 이름입니다. genres1
그리고 genres2
단지입니다이나 테이블 이름이나 열 이름, 그들은 코드의 단지 임의의 이름입니다.
이것은 내 코드입니다. 이제 어떻게 모두 표시 genres_name
합니까?
장르는 다음과 같습니다.
tmdb_id genres_name
1 Action
1 Crime
1 Drama
2 Horror
2 Comedy
2 Drama
메인 테이블 isl ike
tmdb_id movie_title
1 The Dark Knight
2 Logan
3 Wonder Woman
더 많은 정보가 필요하면 알려주세요. (내가 시도한 것을 보여달라고 요청하지 마십시오. 나를 믿으십시오. 질문을 더 혼란스럽게 만들 것입니다)
다음과 같은 장르를 반영하고 싶습니다.
The Dark Knight - Drama, Action, Crime
물론 다음을 사용해야합니다 group_concat
.
Select maintable.movie_title, group_concat(genres.genres_name) AS genres_name
FROM maintable
JOIN genres USING (tmdb_id)
GROUP BY maintable.tmdb_id
HAVING find_in_set('Action', genres_name) AND find_in_set('Drama', genres_name)
여기에서 데모를 참조 하십시오.
참고 : 수행 방법 find_in_set
작품을 공식 참조하시기 바랍니다 문서를 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다