Ver Mensaje Individual
  #1  
Antiguo 03-02-2004
JAGOMAN JAGOMAN is offline
Registrado
 
Registrado: feb 2004
Posts: 4
Reputación: 0
JAGOMAN Va por buen camino
Question Problemas con el entrelazado de tres tablas

Hola a todos, esta es la primera vez que entro en este foro.

Mi intención es unir tres tablas y obtener un listado de la tabla “Productos.db”, unirlo con la tabla “Stock.db” a traves del campo “codigo” y me sume el campo “stock” agrupándolo por el campo “codigo” (que puede tener varios lotes), a su vez se una con la tabla “Pedidos.db” a traves del campo “codigo” y sume el campo “cantidad” agrupándolo por el campo “codigo” y me haga un calculo de lo que tengo que pedir hasta llegar al stockmaximo de cada producto, y que aparezcan solo los productos que su stock no llegue al stockminimo. En la tabla Stock.db y el la tabla “Pedidos.db” puede ser que algún producto no figure al no tener existencia o no estar Pedido.


Las tablas son estas:
Productos: Codigo A, Nombre A, Stockminimo N, StockMaximo N.
Stock: Codigo A, Nombre A, Stock N, Lote A, Estado A.
Pedidos: Codigo A, Nombre A, Cantidad N, Recibido A.

Y la consulta que he realizado es esta:
SELECT
P.codigo, P.Nombre, sum(S.stock) , P.StockMinimo,
P.StockMaximo, sum(PP.Cantidad), (P.Stockmaximo-sum(S.Stock)-sum(PP.Cantidad))

FROM
Productos.db P LEFT JOIN Stock.db S ON P.Codigo = S.codigo
LEFT JOIN Pedidos.db PP ON S.Codigo = PP.Codigo

WHERE
S.Estado = 'ABIERTO'
AND PP.Recibido ='PENDIENTE'

GROUP BY
P.Codigo, P.Nombre, P.StockMinimo, P.StockMaximo, PP.CodigoPt
HAVING
Sum(S.Stock) < P.StockMinimo

ORDER BY P.Codigo

Trabajo con Delphi 2 y Paradox 7
Mis Problemas son:
1. Los campos sin valor no me los calcula.
2. no me aparece ningún cálculo de sum(PP.Cantidad) si no hay coincidencia de código con la tabla Stock.db.
3. al poner la clausula HAVING no aparacen los nulos de “ ON P.Codigo = S.Codigo “
4. Me suma mal el campo “cantidad” de la tabla pedidos, si en la tabla Stock aparece repetido algún campo “codigo”, me lo suma tantas veces como repeticiones haya en este campo .

Llevo rompiéndome la cabeza con este problema bastante tiempo no se si voy por el buen camino y agradezco cualquier ayuda.
Responder Con Cita