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

Totalizar datos Urgentemente

Estas en el tema de Totalizar datos Urgentemente en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 25/05/2009, 07:31
 
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.
  #2 (permalink)  
Antiguo 25/05/2009, 10:04
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Totalizar datos Urgentemente

yanuarys

Que valor tiene el campo t_clientes.planilla?
La función sum retorna un solo valor numerico y la columna t_clientes.planilla puede tener multiples registros.
No conozco tu consulta ni tu sistema, pero sum(t_clientes.planilla) - restodesums no te serviría?

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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 03:59.