테스트 사이트 - 개발 중인 베타 버전입니다

join 질문 드립니다. 채택완료

예서제이 3년 전 조회 925

</p>

<p>    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</p>

<p>

 

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

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

 

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

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

 

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

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

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

답변 3개

채택된 답변
+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
로그인 후 평가할 수 있습니다

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

3년 전

</p>

<p>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</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

예서제이
3년 전
답변 감사합니다.

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

그누위즈

</p>

<p> 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</p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

예서제이
3년 전
답변 감사합니다.

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

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

로그인