Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2009, 12:44
cruzz
 
Fecha de Ingreso: noviembre-2004
Ubicación: Montréal - Santa Fe
Mensajes: 140
Antigüedad: 19 años, 5 meses
Puntos: 2
Count de varias consultas

Hola a todos...

ya lei alguien que postio una pregunta similiar... he intentado adaptarla y no funciona..

basicamente necesito mostrar una tabla ordenada por departamento donde muestre 3 valores diferentes por cada deparmento que representan los totales contados de cada una de esas categorias que cumplen con esas condiciones

1) equipos que la garantia ya expiro
2) que expiran en este ano
3) que expiran a partir del ano proximo o mas

La parte de FROM con los OUTER JOIN esta bien ya que me tira la cantidad real de registros totales que cumplen esas condiciones..

Ta bla que deberi obtener seria algo asi:


Código:
              name                 Expired     This_Year     OnTime
Account Management                  2           4             6
Architecture and Systems            1            0             5
Business Administration             2            2             2
Intente con esta Consulta

Código:
SELECT
  department.name,
  department.manager,
  count(datediff(warrantyExpiry, CURDATE())<0) AS Expired,
  count((datediff(warrantyExpiry, CURDATE())>=0) AND (datediff(warrantyExpiry, CURDATE())<365)) AS This_Year,
  count(datediff(warrantyExpiry, CURDATE())>366) AS Good
FROM (
  workstation
  LEFT OUTER JOIN user ON (workstation.fk_userID = user.pk_id)
  LEFT OUTER JOIN wsdetails ON (workstation.pk_workstationID = wsdetails.pkfk_workstationID)
  INNER JOIN department ON (user.fk_deptID = department.pk_id)
  )
  
GROUP BY department.name, department.manager
ORDER BY
  department.name
pero me tira solo el total de PC por departamento y me repite ese valor en las columnas

Podria alguien orientarme un pokito?

Muchas Gracias