2012-03-20 3 views
0

나는 내 문제를 봤지만 그 대답을 얻지 못했습니다. NULL (COUNT (review.id)가 0을 반환하는 경우)을 포함하여 아래의 SQL 결과를 모두 나열하려고하지만 리뷰가 포함 된 기사 결과 만 얻었습니다.MYSQL COUNT가 NULL을 반환합니까?

$sql = "SELECT tbl_place.id, tbl_place.region_id, tbl_place.subregion_id, tbl_place.title, tbl_place.metalink, tbl_place.img_thumbnail, tbl_place.summary, tbl_place.category1_id, tbl_place.category2_id, tbl_place.category3_id, COUNT(review.id) AS total_review FROM tbl_place 
     JOIN review ON tbl_place.id = review.place_id 
     WHERE 
     tbl_place.category1_id = '32' AND 
     tbl_place.status = '1'   AND 
     review.rating != '0.00'   
     GROUP BY tbl_place.id 
     ORDER BY total_review $by 
     LIMIT $limit OFFSET $offset"; 
+1

[Mysql : 월별 레코드 수 (0 포함)] (http://stackoverflow.com/questions/3486998/mysql-count-records-including-zero-per-month)의 가능한 복제본. 제비 뽑기, 만일 당신이 보면 : http://stackoverflow.com/search?q=[mysql]+count+zero –

+0

thx OMG 조랑말, 나는 모양을 찍었고 거기에 대한 대답이있다! –

답변

0

조인 대신 검토 테이블에 왼쪽 조인을 사용하십시오. 조인은 기본적으로 내부 조인이므로 일치하는 레코드 만 사용합니다.

+0

답변을 찾았습니다! –

+0

thx btw Vetrivel mp! –

0

는 SQL이 있어야한다 : 제대로 작동

$sql = "SELECT tbl_place.id, 
tbl_place.region_id, 
tbl_place.subregion_id, 
tbl_place.title, 
tbl_place.metalink, 
tbl_place.img_thumbnail, 
tbl_place.summary, 
tbl_place.category1_id, 
tbl_place.category2_id, 
tbl_place.category3_id, 
(SELECT COUNT(*) FROM review WHERE review.rating != '0.00' AND tbl_place.id = review.place_id) AS total_review 
FROM tbl_place WHERE 
tbl_place.category1_id = '32' AND 
tbl_place.status = '1' 
GROUP BY tbl_place.id 
ORDER BY total_review $by"; 

! 애들 아!

관련 문제