PDA

Ver la Versión Completa : group by y problema de logica


reina
22-05-2006, 19:43:52
Hola ver si me ayudan...
Tengo una tablas que tienen:
MOVIMIENTOS: comprobante, tipo de comprobante, cantidad, idarticulo, precio

OTRABAJO: autoid, IDmovil, efrio

VALES: autoid, IDmovil, efrio

MOVIL: idmovil, idinterno, ...

ARTICULOS: autoid, descripcion

El problema es el siguiente, yo deberia cruzar los comprobantes de Otrabajo y vales con todos los movimientos correspondientes a los moviles.. y sacar por movil la suma de la cantidad de articulos y la suma del costo total del articulo agrupado por movil. El tema es que no todas las OTrabajo son de moviles..algunas son de otros equipos y sucede lo mismo con los vales.
Hice la siguiente sentencia:


select FLOTA."cID",MOVIMIENTOS."IDARTICULO",ARTICULOS."DESCRIPCION",SUM(MOVIMIENTOS."CANTIDAD"),SUM(MOVIMIENTOS."CANTIDAD" * MOVIMIENTOS."PRECIOUNITARIO")
from VALES,MOVIMIENTOS, FLOTA, ARTICULOS,OTRABAJOXMOVIL
WHERE
((VALES."IDMOVIL" = FLOTA."autoID") and
(VALES."autoID" = MOVIMIENTOS."COMPROBANTE") and
(MOVIMIENTOS."TIPOCOMPROBANTE" = 2) and (MOVIMIENTOS."IDARTICULO" = ARTICULOS."autoID"))
OR
((OTRABAJOXMOVIL."IDMOVIL" = FLOTA."autoID") and
( OTRABAJOXMOVIL."autoID" = MOVIMIENTOS."COMPROBANTE")
(MOVIMIENTOS."TIPOCOMPROBANTE" = 1) and
(MOVIMIENTOS."IDARTICULO" = ARTICULOS."autoID" ))
GROUP By FLOTA."cID",MOVIMIENTOS."IDARTICULO",ARTICULOS."DESCRIPCION"
Order By FLOTA."cID"


Aqui lo que hace es mirar cada movil y fijarse si tienen Vales cruzarlo con sus respectivos movimientos de stock o si ese movil tiene Orden de trabajo y cruzarlo con sus respectivos movimientos. Lo que deberia hacer es juntar ese informacion agruparla por movil y sumar las cantidades (cantidad y precios).
Asi tendria un detalle del consumo de cada movil.
Pero cuando la ejecuto me tira registros repetidos...no sé en que le estoy errando. Si alguien me podria ayudar que es lo que tengo mal o si se puede hacer de otra manera!..
tkssss y saludos!

LA PATRIA SERA LIBRE!

waltergomez
23-05-2006, 00:10:36
No mire muy detenidamente pero proba con esto,

select DISTINCT FLOTA. ........ "

Salu2,

waltergomez
23-05-2006, 00:10:36
No mire muy detenidamente pero proba con esto,

select DISTINCT FLOTA. ........ "

Salu2,

reina
23-05-2006, 15:08:45
Ojala fuera ese el problema ja!, me esta sumando mal..me esta duplicando datos en la suma...creo que ya tengo la punta de saber como es ..lo miro y si anda lo subo para que vean la solucion.
gracias =!:D
exitos

LA PATRIA SERA LIBRE!