Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Hola de nuevo mjjj, te pongo un ejemplo considerando las 3 tablas que tienes y mostrando en el Select la descripcion de tu tabla inventario y el sum de ambas tablas (ingresos, egresos).

Código SQL [-]
SELECT M.descripcion,
          (SELECT sum(cantidad) FROM ingreso I WHERE I.id=M.id) AS ingr, 
          (SELECT sum(cantidad) FROM egresos E WHERE E.id=M.id) AS egre
FROM inventario M

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #2  
Antiguo 13-11-2008
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 20
mjjj Va por buen camino
Muchas gracias Caro, pero ocurrio otro hecho.
Utilice este codigo

Código SQL [-]
SELECT M.descripcion,
          (SELECT sum(cantidad) FROM ingreso I WHERE I.id=M.id)- (SELECT sum(cantidad) FROM egreso E WHERE E.id=M.id) AS SALDO,

FROM inventario M

El problema es que es una aplicacion para gestionar inventario, y como puede llegar a ocurrir, puede que solo hayan ingresos y ningun egreso.

Dado esto (que exista ingreso y no egreso), me aparece la descripcion del insumo, pero no el saldo.

Ejemplo: ingreso 12 y egresos (no hay registro), porque si la cantidad fuera 0, si que funciona.

No se si me pude explicar bien, bueno, espero que me puedan ayudar.

Muchas gracias a todos
Responder Con Cita
  #3  
Antiguo 13-11-2008
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 20
mjjj Va por buen camino
Finalmente pude solucionar mi problema con el siguiente codigo:

Código SQL [-]
SELECT M.nom_insum,
          (SELECT coalesce(sum(cantidad),0) FROM inventario I WHERE I.id=M.cod_insum and tipo ='I')-
          (SELECT coalesce(sum(cantidad),0) FROM inventario i WHERE I.id=M.cod_insum and tipo ='E') AS SALDO,
          ((SELECT coalesce(sum(cantidad * precio),0) FROM inventario I WHERE I.id=M.cod_insum and tipo ='I')-
           (SELECT coalesce(sum(cantidad * precio),0) FROM inventario I WHERE I.id=M.cod_insum and tipo ='E'))/
          coalesce((SELECT sum(cantidad) FROM inventario I WHERE I.id=M.cod_insum and tipo ='I')-
          (SELECT COALESCE(sum(cantidad),0) FROM inventario i WHERE I.id=M.cod_insum and tipo ='E'),1) as precio
FROM insumos M

Ocupe 2 tablas, una con el detalle de los insumos y la otra con el movimiento de estos. (ingresos y egresos)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 08:05:59.


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