2012-08-12 2 views
3

내 멤버에 대한 평판 포인트 테이블이 있습니다.내 쿼리에 어떤 조인 유형이 필요합니까?

rep_id | mem_id | activity  | points | article_id | comment_id 
---------|------------|-------------------|------------|----------------|----------------- 
1  | 99  | Posted Comment | 5  | 10343  | 239403 
2  | 99  | Introduction | 50  |    | 
3  | 99  | Liked Comment | 5  | 748   | 9302 

당신이 볼 수 있듯이, 모든 명성 포인트는이 article_id 또는 comment_id하지만 이러한 레코드를 나열 할 때 기록 않는 경우, article_id, 내가 blog_articles 테이블에서 article_title를 잡아 할 필요가있다 . comment_id과 동일합니다. 존재하는 경우 commentblog_comments 테이블에서 가져와야합니다. article_id 또는 comment_id이 누락 된 경우 원래 레코드를있는 그대로 인쇄하십시오.

누군가이 쿼리에 사용할 조인을 말할 수 있다면 정말 고마워 할 것입니다. 나는 문서를보고, 왼쪽에있는 모든 레코드를 인쇄하는 왼쪽 조인이라고 생각합니다. 비록 오른쪽에 일치하는 것이 없지만 실제로는 확실하지 않습니다.

나는 어떤 코드도 찾고 있지 않다. 단지 어떤 조인이 권장되는지 알려주고 코드를 작성하겠습니다.

답변

3

왼쪽 결합은 실제로 필요한 것입니다. 레코드에 article_id이 없으면 article_title의 값은 NULL이됩니다. comment_id/comment도 마찬가지입니다.

3

OUTER 조인이 필요합니다. 외부 조인은 LEFT, RIGHT 및 FULL 품종으로 제공됩니다. LEFT 또는 RIGHT 외부 조인을 사용하여 쿼리를 작성할 수는 있지만 LEFT OUTER JOIN (일반적으로 LEFT JOIN으로 축약 됨)이 원하는 것일 수 있습니다.

관련 문제