쿼리문 질문드립니다.
본문
select a.mb_name, b.mb_id, c.mb_id, count(*) as cnt,
count(DISTINCT b.wr_31) as b_number,
count(DISTINCT c.wr_31) as c_number,
sum(DISTINCT b.wr_31) as totb,
sum(DISTINCT c.wr_31) as totc,
from g5_member a
inner join {$write_table} b on a.mb_id = b.mb_id
inner join {$write_target} c on b.mb_id = c.mb_id
where
b.wr_29 between '{$stx1}' and '{$stx2}' and b.wr_41 like '%{$stx3}%' and
c.wr_29 between '{$stx1}' and '{$stx2}' and c.wr_41 like '%{$stx3}%'
group by a.mb_name
B게시판과 C게시판을 비교해서 값을 내는 쿼리문인데요...
뽑아내고 보니까 B게시판과 C게시판에 모두 글을 작성 한 회훤만 뽑아내고 있습니다.
둘중 하나라도 작성한 회원도 뽑아낼려면 어떻게 해야 하나요?
한곳에만 적은 회원은 다른 게시판에 0원으로 처리해서 뽑아내면 되는데.. 그게 잘 안되고 있습니다.
!-->답변 2
이너조인 하지마시고 아우터조인 하시면 될듯합니다!
where절의 b... 부분이랑 c...부분이 and라 그런게 아닌가요?
and로 하니깐 d랑 c에 다 작성한게 조건에 맞을거고 b랑 c를 따로 묶어서 두개를 or로 연결해야할거같은데
한번 확인해보시죠
답변을 작성하시기 전에 로그인 해주세요.