Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2009, 07:31
yanuarys
 
Fecha de Ingreso: noviembre-2008
Mensajes: 43
Antigüedad: 15 años, 5 meses
Puntos: 0
Totalizar datos Urgentemente

Esta consulta me realiza bien la suma total de los parametros menos en el caso de Faltante/Sobrante ya que puse una resta hay en la consulta y parece que no es correcto alguien me puede ayudar es urgente se lo voy a agradecer.

SELECT IFNULL(t_clientes.nombre_cliente,'TOTAL') AS 'Áreas/Medios',
SUM(CASE WHEN t_tipo_equipo.tipo_equipo='P4' THEN 1 ELSE 0 END) AS 'P4',
SUM(CASE WHEN t_tipo_equipo.tipo_equipo='PC Ligera con Disco' THEN 1 ELSE 0 END) AS 'PC Ligera con Disco',
SUM(CASE WHEN t_tipo_equipo.tipo_equipo='PC Ligera sin Disco' THEN 1 ELSE 0 END) AS 'PC Ligera sin Disco',
SUM(CASE WHEN t_tipo_equipo.tipo_equipo='Taller' THEN 1 ELSE 0 END) AS 'Taller',
t_clientes.plantilla - (SUM(CASE WHEN t_tipo_equipo.tipo_equipo='PC Ligera sin Disco' THEN 1 ELSE 0 END)+ SUM(CASE WHEN t_tipo_equipo.tipo_equipo='P4' THEN 1 ELSE 0 END )+ SUM(CASE WHEN t_tipo_equipo.tipo_equipo='PC Ligera con Disco' THEN 1 ELSE 0 END)+ SUM(CASE WHEN t_tipo_equipo.tipo_equipo='Laptops' THEN 1 ELSE 0 END) ) AS 'Faltante/Sobrante',
(SUM(CASE WHEN t_tipo_equipo.tipo_equipo='PC Ligera sin Disco' THEN 1 ELSE 0 END)+ SUM(CASE WHEN t_tipo_equipo.tipo_equipo='P4' THEN 1 ELSE 0 END )+ SUM(CASE WHEN t_tipo_equipo.tipo_equipo='PC Ligera con Disco' THEN 1 ELSE 0 END)+ SUM(CASE WHEN t_tipo_equipo.tipo_equipo='Laptops' THEN 1 ELSE 0 END) ) AS 'Suma PC',
SUM(CASE WHEN t_tipo_equipo.tipo_equipo='Impresoras' THEN 1 ELSE 0 END) AS 'Impresoras',
SUM(CASE WHEN t_tipo_equipo.tipo_equipo='Escaners' THEN 1 ELSE 0 END) AS 'Escaners',
SUM(CASE WHEN t_tipo_equipo.tipo_equipo='Fotocopiadoras' THEN 1 ELSE 0 END) AS 'Fotocopiadoras',
SUM(CASE WHEN t_tipo_equipo.tipo_equipo='Laptops' THEN 1 ELSE 0 END) AS 'Laptops',
SUM(CASE WHEN t_tipo_equipo.tipo_equipo='Servidores' THEN 1 ELSE 0 END) AS 'Servidores'
FROM t_clientes INNER JOIN t_equipos ON t_clientes.id_cliente=t_equipos.id_cliente INNER JOIN t_tipo_equipo
ON t_tipo_equipo.id_equipo=t_equipos.id_equipo
WHERE t_equipos.baja=0
GROUP BY t_clientes.nombre_cliente WITH rollup

Porque necesito restarle a la plantilla que lleva medios la cantidad real que hay y asi determinar el restante o sobrante y mostrar el total de esa columna.