
16/04/2008, 02:33
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 17 años 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 |