================================================================================================================================
SELECT a.mb_id, a.mb_name,
IF( (SELECT COUNT(*) AS count FROM m_dog_info WHERE mb_id=a.mb_id AND state_delete=\'n\' GROUP BY mb_id) is null, 0 ,
(SELECT COUNT(*) AS count FROM m_dog_info WHERE mb_id=a.mb_id AND state_delete=\'n\' GROUP BY mb_id) ) AS count
FROM g4_member a ORDER BY a.mb_no DESC
================================================================================================================================
위 쿼리는 잘 돌아가...
내가 궁금한점이 뭐냐면...(SELECT COUNT(*) AS count FROM m_dog_info WHERE mb_id=a.mb_id AND state_delete=\'n\' GROUP BY mb_id) 이 부분을 한번만 쓰고 못끝낼까 하는건데...뭐 성능 그런걸 개선하려는건 아니구..그냥 꼴배기 시러서 -_-;;;
대충 이런식으로 함 해보려고 했거든?
================================================================================================================================
SELECT a.mb_id, a.mb_name,
IF( (SELECT COUNT(*) AS count FROM m_dog_info WHERE mb_id=a.mb_id AND state_delete=\'n\' GROUP BY mb_id) AS cnt is null, 0 , cnt ) AS count
FROM g4_member a ORDER BY a.mb_no DESC
================================================================================================================================
이렇게 별칭줘서..근데 에러나더라구..
뭔가 다른 방법 있을까..?
뭐 잘 돌아가니깐 상관없긴 한데..걍 궁금해서..
[해결완료 SQL 문]
================================================================================================================================
SELECT a.mb_id, a.mb_name, IFNULL(
(SELECT COUNT(*) AS count FROM m_dog_info WHERE mb_id=a.mb_id AND state_delete=\'n\' GROUP BY mb_id), 0
) AS count
FROM g4_member a ORDER BY a.mb_no DESC
================================================================================================================================
훗쇼형 쌩유염 !!
나 이거 비슷한거 봤던거같은데..
훗쇼형과 해일리가 소환되어야 할텐데..핡핡
a.mb_id 에 따른 a.mb_name 는 항상 동일하면 꼼수가 있긔
전 안 부르셨으니, 관심 안 드립니다 ㅏㅇㅇ
ㅠㅠ
에이~~ 은강횽...관심점...ㅋㅋ
훗쇼횽~ a.mb_id 에 따른 a.mb_name 은 항상 동일함!
아~ 이거 괜시리 궁금해짐...핡핡...뭔가 분명 방법이 있을거 같은데..ㅎㅎ..노하우점 꿉신 꿉신
일단은 IFNULL() 함수가 null이면 다른값 반환하는 함수니까 그거 쓰면 되고....
아...IFNULL 함수..오옷....
SELECT a.mb_id, MAX(a.mb_name), COUNT(b.*) AS count FROM g4_member AS a LEFT OUTER JOIN m_dog_info AS b ON a.mb_id = b.mb_id WHERE b.state_delete = \'n\' ORDER BY MAX(a.mb_no) DESC 대충 이런식으로 짜면 서브쿼리 안쓰고도 뽑을 수 있을득... 근데 내가 mysql을 안써봐서 이게 될지 안될지 모르겠긔... 이건 MSSQL 기준
ㅎㅎㅎ 보기 깔끔하당...아~ IFNULL 함수도 있었군하...IFNOTNULL 도 있겠군염..찾아봐야지 ㅎㅎ
훗쇼횽 훗쇼횽...내가 첨에 조인문을 써서 해보고 explain 해봤더니...서브쿼리 쓰는게 더 성능이 좋게 나오드라구염...그래서 걍 저렇게 했음ㅎ 여튼 궁금한점 해겨르~~~ !
ifnotnull 가튼건 없을듯....
없네유...ㅋㅋ