가맹점별로 총 몇건의 신청이 있었고 그 중 실제로 발급된건 몇건인가...하는 통계페이지를 만들려고 합니다.
근데 실제 발급된 건과 포인트합계의 표시가 이상하게 됩니다.
*** company 테이블***
-----------------------------------
no | name
-----------------------------------
1 | 베스킨라벤스
2 | 롯데리아
3 | 파리바게트
*** applic 테이블***
--------------------------------------------------
no | jehu | type | point
--------------------------------------------------
1 | 베스킨라벤스 | 신청 | 0
2 | 베스킨라벤스 | 발급 | 100
3 | 롯데리아 | 신청 | 0
4 | 베스킨라벤스 | 발급안됨 | 0
*** card 테이블***
--------------------------------------------------
no | applic_no | jehu | point
-------------------------------------------------
1 | 2 | 베스킨라벤스 | 100
company 은 가맹점 정보가 들어가는 테이블,
applic은 카드신청관련 정보가 모두 쌓이는 테이블,
card는 발급된 카드들의 정보만 따로 모아둔 테이블입니다.
SELECT T1.name, count(T2.no) as cno01, count(T3.no) as cno02, sum(T3.point) as allpoint FROM company AS T1 left join applic AS T2 on T1.name = T2.jehu left join card AS T3 on T2.jehu = T3.jehu WHERE 1 GROUP BY T1.name
로 쿼리문을 썼더니
----------------------------------------------------------
제휴사명 | 총건수 | 발급수 | 발급포인트
----------------------------------------------------------
베스킨라벤스 | 3 | 3 | 300
롯데리아 | 1 | 0 | 0
파리바게트 | 0 | 0 | 0
결과물이 이렇게 이상하게 나옵니다.
제가 원하는데로 제대로 나올려면 아래와 같은 모양으로 나와야되는데 말이죠...
---------------------------------------------------------
제휴사명 | 총건수 | 발급수 | 발급포인트
---------------------------------------------------------
베스킨라벤스 | 3 | 1 | 100
롯데리아 | 1 | 0 | 0
파리바게트 | 0 | 0 | 0
쿼리부분의 어디가 잘못된건지 좀 알려주세요.
(작업환경은 리눅스서버에, PHP 4.3.10 입니다.)
|