Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   group by y problema de logica (https://www.clubdelphi.com/foros/showthread.php?t=31938)

reina 22-05-2006 19:43:52

group by y problema de logica
 
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:

Código SQL [-]
select FLOTA."cID",MOVIMIENTOS."IDARTICULO",ARTICULOS."DESCRIPCION",SUM(MOVIMIENTOS."CANTIDAD"),SUM(MOVIMIE  NTOS."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,

Código SQL [-]
select DISTINCT FLOTA. ........ "

Salu2,

waltergomez 23-05-2006 00:10:36

No mire muy detenidamente pero proba con esto,

Código SQL [-]
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!


La franja horaria es GMT +2. Ahora son las 23:37:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi