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

Problema con count

Estas en el tema de Problema con count en el foro de Mysql en Foros del Web. buen día, necesito ayuda con esto que parece facil pero no. necesito contar de un determinado usuario cuantos problemas tiene resueltos y cuantos sin resolver ...
  #1 (permalink)  
Antiguo 16/12/2011, 09:18
 
Fecha de Ingreso: diciembre-2011
Mensajes: 26
Antigüedad: 12 años, 4 meses
Puntos: 0
Problema con count

buen día, necesito ayuda con esto que parece facil pero no. necesito contar de un

determinado usuario cuantos problemas tiene resueltos y cuantos sin resolver eso

nada mas o sea que me muestre lo siguiente:

USUARIO--sin_res--res
CARLOS----9------2
PABLO-----5------0
LORENA----0-----3

tengo dos tablas: la tabla usuario donde almaceno idusuario, nombreus y la tabla

prob donde almaceno el idprob, problema, idusuario y idestadoprob en el idestado

prob puede ser 1 "sin reslover" o 2 "resuelto" con este select logo algo parecido

Código:
select 
       (select count(*) from prob, usuario
               where prob.idusuario = usuario.idusuario and
               prob.idestadoprob = '1' ) as sin_res, 
       (select count(*) from prob, usuario
               where prob.idusuario = usuario.idusuario and
               prob.idestadoprob = '2' ) as res
pero me muestra lo siguiente:

sin_res --- res
---14 ----5

desde ya muchas gracias amigos!
  #2 (permalink)  
Antiguo 16/12/2011, 09:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con count

COUNT() cuenta todo lo que existe, por lo que no sirve para tu caso. En esta consulta tienes que contar si y sólo si un campo contiene un determinado valor.
Es más simple hacer:
Código MySQL:
Ver original
  1.     U.idusuario NroUsuario,
  2.     SUM(IF(P.idestadoprob = 1, 1, 0)) SinRes,
  3.     SUM(IF(P.idestadoprob = 2, 1, 0)) ConRes    
  4. FROM prob P INNER JOIN usuario U ON P.idusuario = U.idusuario
  5. GROUP BY U.idusuario;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 16/12/2011, 09:28
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Problema con count

Saludos

Es de la manera que te indica gnzsoloyo
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #4 (permalink)  
Antiguo 16/12/2011, 10:44
 
Fecha de Ingreso: diciembre-2011
Mensajes: 26
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema con count

GRACIAS gnzsoloyo idolo! capo! sos un genio!!!!! Nano_ tambien gracias por hacernos la vida mas facil!!!!!!

Etiquetas: count, registros, select, sql
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 13:37.