Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/04/2008, 02:33
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: algo esta mal con este query

Código:
SELECT 
     sum(gasolina) as g, sum(aceite_motor)as am, 
     sum(aceite_transmision) as atr,sum(aceite_hdco) as ah, 
     sum(grasa) as gr 
from reporte as r, detalle_equipos_consumo as dtc, equipos as e 
where dtc.codigo_equipo='920' 
           and r.codigo_reporte=dtc.codigo_reporte 
           and e.codigo_equipo=r.codigo_equipo 
          and dtc.codigo_equipo=r.codigo_equipo 
group by dtc.codigo_equipo asc;
El quid de la cuestion esta en ver como relacionas la tablas. Las condiciones en rojo formanrian parte de la definicion de las relaciones JOIN ON condicion la azul seria un HAVING condición.


Código:
SELECT 
     sum(gasolina) as g, sum(aceite_motor)as am, 
     sum(aceite_transmision) as atr,sum(aceite_hdco) as ah, 
     sum(grasa) as gr 
FROM ( equipos as e INNER JOIN detalle_equipos_consumo as dtc 
                  ON e.codigo_equipo=dtc.codigo_equipo) 
                             INNER JOIN reporte as r  
                  ON e.codigo_equipo=r.codigo_equipo 
                       //AND dtc.codigo_equipo=r.codigo_equipo <--- sobra
HAVING dtc.codigo_equipo='920'
group by dtc.codigo_equipo asc;
Creo?


Quim