join sum() 합산 질문... 채택완료
밀랍
3년 전
조회 2,043
3개 join
</p>
<p> select a.mb_name, b.mb_id, c.mb_id, count(*) as cnt , sum(b.wr_31) as totb, sum(c.wr_31) as totc
from g5_member a
left join g5_write_csorder b on a.mb_id = b.mb_id
left join g5_write_cscenter c on a.mb_id = c.mb_id
where b.wr_29 between '{$stx1}' and '{$stx2}' and b.wr_50 like '%{$stx7}%' and NOT b.wr_54 IN ('exchange') and NOT b.wr_7 IN ('4') and
c.wr_29 between '{$stx1}' and '{$stx2}' and c.wr_50 like '%{$stx7}%'
group by a.mb_name, b.mb_id ORDER BY totb DESC</p>
<p>
2개 join (cscenter) sum()값이 정상적임
회원 닉네임때문에 member와 join
</p>
<p> select a.mb_name, b.mb_id,count(*) as cnt , sum(b.wr_31) as totb
from g5_member a
left join g5_write_cscenter b on a.mb_id = b.mb_id
where b.wr_29 between '{$stx1}' and '{$stx2}' and b.wr_50 like '%{$stx7}%'
group by a.mb_name, b.mb_id ORDER BY totb DESC</p>
<p>
2개 join (csorder) sum()값이 정상적임
회원 닉네임때문에 member와 join
</p>
<p> select a.mb_name, b.mb_id,count(*) as cnt , sum(b.wr_31) as totb
from g5_member a
left join g5_write_csorder b on a.mb_id = b.mb_id
where b.wr_29 between '{$stx1}' and '{$stx2}' and b.wr_50 like '%{$stx7}%' and NOT b.wr_54 IN ('exchange') and NOT b.wr_7 IN ('4')
group by a.mb_name, b.mb_id ORDER BY totb DESC</p>
<p>
아래에 각각 cscenter와 csorder의 sum()값은 정상인데
2개를 함께한 가장 위 sum()값은 상황에 따라 너무 다르게 변하네요...
왜 변하는지를 알면 찾아보고 수정하거나 구글링을 해 볼텐데.. 이유조차 모르겠어서.. 답답합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
답변에 대한 댓글 5개
�
밀랍
3년 전
�
엑스엠엘
3년 전
query에 문제가 있다면
결과가 하나도 나오지 않습니다.
현재는 어떤 결과가 나오는 것으로 보이는데 query문에는 에러가 없겠죠.
또 보니까 세 query에 있는 where 조건이 다르네요.
결과가 하나도 나오지 않습니다.
현재는 어떤 결과가 나오는 것으로 보이는데 query문에는 에러가 없겠죠.
또 보니까 세 query에 있는 where 조건이 다르네요.
�
밀랍
3년 전
where를 모두 제외시킨 후에 돌려봐도...
금액이 맞질 않습니다...
ㅠㅠ
금액이 맞질 않습니다...
ㅠㅠ
�
밀랍
3년 전
어떤값은 *8 어떤값은 *3 어떤값은 정상... 이런식으로 출력이 되네요....
�
엑스엠엘
3년 전
데이터가 있는 DB에서
직접 해 보지 않는 한 답변드리기 곤란하군요.
직접 해 보지 않는 한 답변드리기 곤란하군요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
저 소스는 정상적으로 된 소스가 맞는건가요?