2016-06-11 6 views
1

내 쿼리IFNULL()은 MySQL을 사용하여 열 값이 int 인 문자열을 반환 할 수 있습니까? 다음

select cname, count(screening_occapancy.idclient) as 'Count' 
from client, screening_occapancy 
where client.client_no = screening_occapancy.idclient 
group by cname 

반환 :

는 등
Name  Count 
Name1  2 
Name2  3 
Name3  6 

, 지금은 그 값이 0 null의 경우, 또는 "을 (를) 찾을 수 없습니다"될 '백작'의 값 싶지는 것입니다 가능한?

Name  Count 
    Name1   2 
    Name2   3 
    Name3 "Not found" 
+0

제목의 질문에 대한 대답은 yes입니다.'ifnull (column, "Not Found") ' – Barmar

답변

1
Select cname , 
case when Count is null or count =0 then 'Not found' 
else Count end as count 
from 
    (select cname, 
count(screening_occapancy.idclient) as 'Count' 
    from client left join screening_occapancy 
    on 
    client.client_no = screening_occapancy.idclient group by cname) t 

카운트 열을

+0

Working. 고마워. – Gilzy

+0

안녕하세요. @Gilzy –

1

찾을 수 없습니다 모든 0을 얻을 수있는 left join 사용

select c.cname, 
     count(so.idclient) as 'Count' 
from client c 
left join screening_occapancy so on c.client_no = so.idclient 
group by c.cname 

일치 그리고 BTW 암시 적 유산을 사용하지 않는 이상 조인 구문을 : ​​내 결과에 그런 일이 필요합니다. 명시 적 조인을 사용하십시오.

0
select cname, IF(count(screening_occapancy.idclient)!=0,count(screening_occapancy.idclient),'NOT FOUND') as 'Count' 
from client, screening_occapancy 
where client.client_no = screening_occapancy.idclient 
group by cname 

를 확인하는 쿼리 위의 래퍼 조회를 작성 또는 수는 null을 반환하는 경우?

select cname, IFNULL(count(screening_occapancy.idclient),'NOT FOUND') as 'Count' 
from client, screening_occapancy 
where client.client_no = screening_occapancy.idclient 
group by cname