본문 바로가기
MySql

MySQL mysql having and where clause on the same query

by 베이스 공부 2021. 2. 6.
반응형

이것은 내가 가진 코드입니다.

$sqlz = "SELECT t1.user_id, t2.status, t2.email 
         FROM coverages t1 
         LEFT JOIN users t2 ON t1.user_id = t2.user_id 
         GROUP BY t1.user_id  
         HAVING COUNT(t1.user_id) =".$value;

이 " WHERE users.email IS NOT NULL "을 추가하고 싶습니다. 추가하면 흰색 페이지가 반환되거나 결과가 없습니다. DB에 이메일을 포함하고 해당 기준과 일치하는 결과가 200 개 이상 있다는 사실을 알고 있습니다.

이것은 작동하지 않는 내가 한 일의 예입니다.

 $sqlz =    "SELECT t1.user_id, t2.status, t2.email 
             FROM coverages t1 
             LEFT JOIN users t2 ON t1.user_id = t2.user_id
             WHERE users.email IS NOT NULL 
             GROUP BY t1.user_id  
             HAVING COUNT(t1.user_id) =".$value;

 

해결 방법

 

users 대신 t2 ( alias )를 사용해야한다고 생각합니다.

 $sqlz =    "SELECT t1.user_id, t2.status, t2.email 
             FROM coverages t1 
                     LEFT JOIN users t2 ON t1.user_id = t2.user_id
             WHERE t2.email IS NOT NULL 
             GROUP BY t1.user_id  
             HAVING COUNT(t1.user_id) = " .$value;

 

참조 페이지 https://stackoverflow.com/questions/11286735

 

 

반응형

댓글