FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
|
|
|