Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/12/2009, 01:25
Avatar de Copia
Copia
 
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: ejercicio de mysql

creo que he avanzado pero aun no me termina de correr la condicion que dice:

"ademas se debe de excluir a aquellos equipos que durante el año 2001 hayan tenido mas de 2 revisiones tecnicas en su plan de mantenimiento."

Tengo como dato a una pc con codigoprograma = 13 que esta 5 veces usado, uno se descarta porque es del 2005 no cumple condicion, tres pcs lo tienen instalado dos con licencia y una no, pero una de las tres codigoequipocomputo = 13 es del 2001 y tiene como 6 revisiones tecnica entonces se debe de borrar.

EL codigo es este:
Código Sql:
Ver original
  1. SELECT P.CodigoPrograma,P.Descripcion AS Programa,COUNT(EC.CodigoEquipoComputo) AS 'PCS',
  2.        SUM(PI.FlagTieneLicencia) AS 'Pcs con licencia'
  3. FROM EquipoComputo AS EC, ProgramasInstalados AS PI, Programas AS p
  4. WHERE (EC.CodigoEquipoComputo=PI.CodigoEquipoComputo) AND (PI.CodigoPrograma=P.CodigoPrograma)
  5.       AND (YEAR(EC.FechaAdquisicion) BETWEEN 2000 AND 2002) AND NOT
  6.        (EC.CodigoEquipoComputo IN (SELECT SUM(PM.CodigoEquipoComputo)
  7.                                       FROM EquipoComputo AS EC,PlanMantenimiento AS PM
  8.                                       WHERE(EC.CodigoEquipoComputo=PM.CodigoEquipoComputo) AND
  9.                                            (YEAR(EC.FechaAdquisicion)=2001)
  10.                                       GROUP BY (PM.CodigoEquipoComputo)
  11.                                       HAVING (SUM(PM.CodigoEquipoComputo)>2)))
  12.  
  13. GROUP BY P.Descripcion;