SQL - Query usando LEFT JOIN

 
Vista:

Query usando LEFT JOIN

Publicado por Fernando (3 intervenciones) el 16/09/2007 07:46:59
Hola a Todos:

Tengo un problema con un query que estoy utilizando para una especie de inventario.

Permitanme comentarles como esta el asunto. Tengo 2 tablas: INGRESO Y PEDIDOS (o Salidas o como quieran llamarle), ambas tbls cuentan con un campo IdProd y Cantidad...el chiste está en que se sumen todos las Cantidades del mismo IdProd en INGRESO d igual manera con PEDIDOS y se resten en otra columna denominada "Existencia".

En el siguiente Query que realizé logré medio solucionar este problema pero me está dando un problema en la columna de INGRESO ya que me está duplicando el valor de las "entradas" según sea la cantidad de "salidas" que tenga el IdProd. Ejemplo: Tengo un registro d "40" entradas del IdProd "1" en INGRESO y tengo 3 registros de salidas de "10", "15" y "5" respectivamente en PEDIDOS del IdProd "1".....Me tendria que dar en la columna de INGRESO =40 y SALIDAS=30 peero el resultado q me da es de INGRESO=120 y SALIDAS=30.

SELECT TBLINGRESO.IdTipoGuante AS CODIGO,
SUM(TBLINGRESO.CantidadPares) AS ENTRADAS,
SUM(TBLPEDIDO.Cantidad) AS SALIDAS
FROM TBLINGRESO LEFT OUTER JOIN
TBLPEDIDO ON
TBLINGRESO.IdTipoGuante = TBLPEDIDO.IdTipoGuante OR
TBLPEDIDO.IdTipoGuante IS NULL
GROUP BY TBLINGRESO.IdTipoGuante


Gracias de antemano por la ayuda o comentarios q me quieran brindar.


Saludos,

Fernando MarroG
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:Query usando LEFT JOIN

Publicado por Isaias (5072 intervenciones) el 17/09/2007 19:09:23
¿Que motor de base de datos estas ocupando?, ¿Si es SQL SERVER, que service pack tienes?
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

RE:Query usando LEFT JOIN

Publicado por fernando (3 intervenciones) el 18/09/2007 01:16:51
SQL SERVER 2000 SP2
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

RE:Query usando LEFT JOIN

Publicado por Isaias (5072 intervenciones) el 18/09/2007 18:36:57
Primero, actualiza su SQL SERVER, minimo al SP3.0a, o preferentemente al 4.0

Dime si funciona:

SELECT TBLINGRESO.IdTipoGuante AS CODIGO, X.SALIDAS
SUM(TBLINGRESO.CantidadPares) AS ENTRADAS
FROM TBLINGRESO JOIN
(SELECT IdTipoGuante, SUM(TBLPEDIDO.Cantidad) AS SALIDAS
FROM TBLPEDIDO WHERE TBLPEDIDO.IdTipoGuante IS NULL GROUP BY TBLPEDIDO.IdTipoGuante) AS X
ON TBLINGRESO.IdTipoGuante = X.IdTipoGuante
GROUP BY TBLINGRESO.IdTipoGuante, X.SALIDAS
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

RE:Query usando LEFT JOIN

Publicado por Fernando (3 intervenciones) el 23/09/2007 19:43:41
Muchas Gracias Isaias, solo le hice un pekeño cambio al query q me diste y funcionó perfectamente.

Saludos
fernando
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