Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/11/2009, 17:36
Avatar de gnzsoloyo
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: problemas con consulta mysql(count y sum)

El error de la cuenta es simple: En el WHERE estabas diciendo que solamente te mostrara los que tenían licencia... y eso asía.
Además de ello, si bien no es un error exactamente, la relación entre tablas no debe hacerse en el WEHRE porque no es optimizable. Se hace en el FROM a través de JOINS con la cláusula ON:
Código sql:
Ver original
  1. SELECT
  2.   P.CodigoPrograma,
  3.   P.Descripcion Programa,
  4.   COUNT(EC.CodigoEquipoComputo) 'PCS',
  5.   COUNT(PI.FlagTieneLicencia) 'Pcs con licencia'
  6. FROM
  7.   EquipoComputo EC
  8.   INNER JOIN ProgramasInstalados PI ON EC.CodigoEquipoComputo=PI.CodigoEquipoComputo
  9.   INNER JOIN Programas p ON  PI.CodigoPrograma=P.CodigoPrograma
  10. GROUP BY P.Descripcion;
Por otro lado, la consulta tal y como la planteas te devolverá cuántas PC tienen instalado el programa con y sin licencia, pero no te discriminará cuáles son las PCs.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)