Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-02-2009
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Consulta 3 tablas

Hola, yo denuevo por aca molestado. Espero que me puedan ayudar, ya que llevo mucho rato tratando de resolver esto y no he podido.
Tengo un que realizar una consulta a 3 tablas simultaneamente... productos, detproductos e inv_prod.

La tabla productos contiene un listado de todos los productos de la empresa, contiene los campos descripcion y codigo, con el cual se relaciona.

La tabla detproductos contiene los campos codigo, cantidad e ID; y es la receta para poder generar el producto, es decir, para poder tener disponible un producto codigo = "0001", debo tener disponible (en inventario) la totalidad de los distintos insumos que generan el producto, y ademas con la restriccion de que al campo cantidad, es el que limita cuantos insumos (ID) en particular necesito.

Y por ultimo la tabla inv_prod, es la encargada de registrar todos los movimientos en el inventario, si es tipo I es ingreso; si es tipo E es egreso.

Los movimientos son con respecto a los insumos, no los productos, ya que las sumatoria de distintos insumos, generan un producto... esto lo define la tabla detproducto (es como la receta del producto).

La tabla inv_pro tiene los campos codigo, id, tipo, cantidad


Expongo un codigo que como que quiere funcionar pero va no del todo bien. Ojale me puedan echar una manito.
Código SQL [-]
select DISTINCT P.CODIGO, P.DESCRIPCION,
coalesce(min(trunc(I.CANTIDAD/D.CANTIDAD)),0)
FROM productos P left join (detproductos d
left JOIN INV_PROD I
ON D.EMPRESA = I.EMPRESA AND D.CODIGO = I.CODIGO AND D.ID = I.ID)
on P.EMPRESA = D.EMPRESA and p.codigo = d.codigo
where D.EMPRESA = 'emp1'
and i.id = d.id
GROUP BY P.CODIGO, I.ID, P.DESCRIPCION, D.CANTIDAD
having ((COALESCE(sum(iif(TIPO ='I',I.cantidad,0)),0)
-COALESCE(sum(iif(TIPO ='E',I.cantidad,0)),0)) / D.CANTIDAD >=1)

Cualquier comentario, sugerencia o idea es bienvenida.

Saludos y gracias
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
consulta de dos tablas. digital SQL 4 06-11-2007 20:41:00
Consulta SQL con dos tablas... emeceuy Conexión con bases de datos 2 06-08-2005 07:41:59
consulta de dos tablas tgsistemas SQL 4 15-04-2005 13:25:59
Consulta con dos tablas candido SQL 2 09-08-2004 13:02:07
Consulta SQL con 4 tablas nefy SQL 2 03-05-2004 23:25:22


La franja horaria es GMT +2. Ahora son las 02:24:49.


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