Access - Consulta que duplica registros

   
Vista:

Consulta que duplica registros

Publicado por JOSE (1 intervención) el 13/01/2008 08:58:08
Buenas: Tengo una consulta en access con el siguiente código:

SELECT Sum([DETALLES DE ENTRADAS].Cantidad) AS Entradas, ALMACENES.Almacen, ARTICULOS.CODARTI, ARTICULOS.DESCRIPCION, Sum([DETALLES DE SALIDAS].Cantidad) AS Salidas, (Entradas-Salidas) AS existencias
FROM ALMACENES INNER JOIN ((ARTICULOS INNER JOIN [DETALLES DE ENTRADAS] ON ARTICULOS.CODARTI=[DETALLES DE ENTRADAS].CodArti) LEFT JOIN [DETALLES DE SALIDAS] ON ARTICULOS.CODARTI=[DETALLES DE SALIDAS].CodArti) ON ALMACENES.IdAlmacen=[DETALLES DE ENTRADAS].IdAlmacen
GROUP BY [DETALLES DE ENTRADAS].IdAlmacen, ALMACENES.Almacen, ARTICULOS.CODARTI, ARTICULOS.DESCRIPCION;

Y el resultado obtenido es el siguiente:

Entradas Almacen CODARTI DESCRIPCION Salidas existencias
40 Naves 7 DISQUETE 3,5 1,4 MG 2 38

Este artículo, tiene dos registros en la tabla detalles entradas (30+10) y un únic registro en la tabal detalles de salidas (1). He probado ha que haya mas registros de entradas que de salida y ocurre lo mismo, pero con las salidas. He probado igualmente a que los movimientos sean en el mismo o distinto almacen y más de lo mismo.

Lo que pretendo es que me agrupe por cada almacen, los movimientos de entrada y salida por cada uno de los artículos. ¿Se puede hacer? Si necesitais la base de datos de access os la paso.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta que duplica registros

Publicado por Victoria (1530 intervenciones) el 13/01/2008 11:26:43
Hola:

La forma sencilla de resolver esto es que crees DOS consultas INDEPENDIENTES sumando las ENTRADAS y las SALIDAS y luego crees esta CONSULTA FINAL

Si tuvieras una forma de saber que tabla tiene MAS entradas que salidas podrías hacer:

SELECT ENTRADAS.cod, Sum(ENTRADAS.entrada) AS SumaDeentrada, (SELECT SALIDAS FROM SALIDAS WHERE COD=ENTRADAS.cod) AS Expr1
FROM ENTRADAS INNER JOIN SALIDAS ON ENTRADAS.cod = SALIDAS.COD
GROUP BY ENTRADAS.cod;

Un saludo
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar