각 태그에 대한 게시물 데이터베이스가 있습니다. 이 테이블의 이름은 각각 Posts
및 Tags
입니다. 또한 두 테이블 간의 다 대다 관계를 유지하는 Posts_Tags
이라는 세 번째 테이블이 있습니다.다 대 다 관계의 끝에서 데이터 선택
이렇게하려면 내 게시물과 내 태그 테이블 모두 id
열이 있어야합니다. 따라서 내 Posts_Tags
테이블에는 매핑을 저장할 postid
및 tagid
열이 모두 있습니다.
예를 들어 제목에 "class"라는 단어가있는 모든 게시물을 쿼리하고 있습니다.
SELECT * FROM Posts WHERE title LIKE '%{class}%'
그러나, 지금은 제목에 "클래스"가 아니라 모든 게시물을 조회 할뿐만 아니라, "자바"태그로 태그 :이 쿼리를 쉽게 할 수 있습니다.
SELECT id FROM Tags WHERE name='Java'
가 그럼 난 이렇게 내 첫 번째 쿼리에 그 연결 수 : 내가 먼저 자바 태그의 ID를 얻을 두 개의 쿼리,이 작업을 수행 할 수 그러나
SELECT Posts.*
FROM Posts
INNER JOIN Posts_Tags
ON Posts.id=Posts_Tags.postid
WHERE Posts_Tags.tagid='$java_tag_id'
AND title LIKE '%{class}%'
을, I 하나의 쿼리에서이 작업을 수행 할 수 있다는 것을 알고, 나는 방법을 모른다. 하나만 할 때 조인에 대해 많은 것을 생각해야하며 같은 쿼리에서 여러 조인을하면 머리가 회전합니다. 이 작업을 수행하기 위해 쿼리를 어떻게 구성해야합니까? 큰
, 감사합니다. 나는 이것이 조금 지나치게 생각하고 있다고 생각한다. 어쨌든, 이것은 완벽하게 작동합니다! –