join 질문 드립니다.

join 질문 드립니다.

QA

join 질문 드립니다.

답변 3

본문


    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

 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

 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

 


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
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 763
© SIRSOFT
현재 페이지 제일 처음으로