sql join 질문...
본문
select a.mb_id, b.mb_id, count(*) as cnt , sum(a.wr_31) as tot
from g5_write_cscenter a
inner join g5_write_csorder b on a.mb_id = b.mb_id
where a.wr_29 between '{$stx1}' and '{$stx2}' and a.wr_50 like '%{$stx7}%'
group by a.mb_id, b.mb_id ORDER BY tot DESC
이 값과
select a.mb_id, b.mb_id, count(*) as cnt , sum(a.wr_31) as tot
from g5_write_cscenter a
inner join g5_member b on a.mb_id = b.mb_id
where a.wr_29 between '{$stx1}' and '{$stx2}' and a.wr_50 like '%{$stx7}%'
group by a.mb_id, b.mb_id ORDER BY tot DESC
의 as tot 값이 틀린데...
이유를 아시는 분 계신가요?
회원member join 값과 g5_write_csorder 의 join 값이 틀려서...
제가 이해를 잘못하고 있나 싶어서 질문드립니다.
어차피 둘다 g5_write_cscenter의 wr_31 합산 금액이 아닌가요?
$result = sql_query($sql, TRUE);
while ($row = sql_fetch_array($result)) {
}
로 돌리고 있습니다.
!-->!-->답변 1
둘다 g5_write_cscenter 테이블의 wr_31의 합산금액은 맞지만
합산을 위한 추출조건이 다르네요
join 테이블이
첫번째는 g5_write_csorder
두번째는 g5_member
테이블명으로 추론해서 설명하면
첫번째는 주문자중에서 센터에 포함된 사용자가 조건이고
두번째는 회원전체중에서 센터에 포함된 사용자가 조건이 되죠
따라서 합산이 일치하는경우는 회원이 둘다 동일할때만 입니다.
답변을 작성하시기 전에 로그인 해주세요.