Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Count en mysql me trae valor 1 si no hay valores

Estas en el tema de Count en mysql me trae valor 1 si no hay valores en el foro de Mysql en Foros del Web. Hola, Bueno cuento con la siguiente duda, estoy realizando una busqueda de una tabla hacia otra y quiero saber el total de valores encontrados, el ...
  #1 (permalink)  
Antiguo 08/07/2014, 18:35
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 13 años, 6 meses
Puntos: 9
Exclamación Count en mysql me trae valor 1 si no hay valores

Hola,

Bueno cuento con la siguiente duda, estoy realizando una busqueda de una tabla hacia otra y quiero saber el total de valores encontrados, el problema es que cuando uso count si no hay valores encontrados me aparece como 1.
Mostrando el escenario y aclarando la duda seria>

Query
Código PHP:
SELECT 
                clMain
.ID
                
clMain.CLASE,
                
COUNT(*) AS TOTAL 
FROM 
                clasesSocios clSocios
                RIGHT JOIN 
                clases clMain 
                ON clSocios
.CLASE clMain.ID 
GROUP BY 
               clMain
.ID 
El resultado es>


ID CLASE TOTAL
9 KICK BOXING 2
10 GYM 3
11 SPINNING 1 (este no esta en la tabla de calsesSocios, tendria que mostrar 0 valores encontrados) Ese es mi problema.


Las tablas son>

clases
ID CLASE
9 KICK BOXING
10 GYM
11 SPINNING

clasesSocios
ID CLASE
1 9 <--- (Pertenece a la clase KICK BOXING)
2 9
3 10 <--- (Pertenece a la clase GYM)
4 10
5 10

Si se dan cuenta el ID (11) de SPINNING No se encuentra en la tabla clasesSocios y me muestra en el resultado final un 1 como total.

Como puedo hacer para que aparezca 0 en vez de 1 ?


Muchas gracias, espero me puedan apoyar.
Saludos!

Última edición por marco64yes; 08/07/2014 a las 18:40
  #2 (permalink)  
Antiguo 09/07/2014, 01:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Count en mysql me trae valor 1 si no hay valores

Código MySQL:
Ver original
  1. SELECT clMain.ID,
  2.              clMain.CLASE,
  3.              IFNULL(COUNT(clSocios.ID),0) AS TOTAL
  4. FROM clases clMain LEFT JOIN clasesSocios clSocios
  5.                 ON clSocios.CLASE = clMain.ID
  6. GROUP BY clMain.ID
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 09/07/2014, 06:20
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: Count en mysql me trae valor 1 si no hay valores

Gracias quimfv funciona a la perfección!

Etiquetas: count
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:17.