채택완료

join 질문 드립니다.

Copy
select a.mb_id, b.mb_id, a.mb_name, b.wr_name
    from g5_member a
    left outer join
    g5_write_bbs b
    ON a.mb_id = b.mb_id
    where wr_29 between '2022-05-01' and '2022-05-30'
    group by a.mb_id

 

회원테이블과 게시판을 조인해서

게시판에 글을 작성하지 않은 회원도 출력하고 싶습니다.

 

날짜를 넣으면 해당 게시판에 글을 작성한 회원만 나오고 있습니다.

날짜 검색을 해도 글을 작성하지 않은 회원까지 나오게 할려면 어떻게 수정해야 하나요?

 

예) 회원이 200명이고 bbs에 작성자가 50명이여도 200명 모두 나오게 하고 싶습니다.

날짜 검색은 반드시 필요합니다.

|

답변 3개 / 댓글 2개

채택된 답변
+20 포인트
 select a.mb_id, b.mb_id, a.mb_name, b.wr_name
    from g5_member a
    left outer join
    g5_write_bbs b
    ON a.mb_id = b.mb_id
     and b.wr_29 between '2022-05-01' and '2022-05-30'
    group by a.mb_id

Copy
select a.mb_id, a.mb_name, b.wr_name, 
       sum(case when b.wr_29 between '2022-05-01' and '2022-05-30' then 1 else 0 end) as cnt
  from g5_member a
         left outer join g5_write_bbs b ON a.mb_id = b.mb_id
 group by a.mb_id, a.mb_name, b.wr_name

답변에 대한 댓글 1개

답변 감사합니다.

Copy
SELECT a.mb_id, b.mb_id, a.mb_name, b.wr_name
    FROM g5_member a
    LEFT JOIN
    g5_write_request b
    ON a.mb_id = b.mb_id
    UNION
 SELECT a.mb_id, b.mb_id, a.mb_name, b.wr_name
    FROM g5_member a
    RIGHT JOIN
    g5_write_request b
    ON a.mb_id = b.mb_id
    WHERE b.wr_29 BETWEEN '2022-05-01' AND '2022-05-30'
    GROUP BY a.mb_id

 

답변에 대한 댓글 1개

답변 감사합니다.

답변을 작성하려면 로그인이 필요합니다.