Ver Mensaje Individual
  #1  
Antiguo 07-10-2006
Avatar de NickName
NickName NickName is offline
Miembro
 
Registrado: may 2003
Ubicación: Guerrero, México
Posts: 96
Reputación: 22
NickName Va por buen camino
Question Costo de Inventario

Hola.
Desde hace dias estoy batallando con esto que me pidio mi cliente; necesito hacer un reporte donde muestre las mercancias que existen en almacen, sumando el precio de compra de cada una de las mercancias opteniendo asi el costo del inventario. Bueno para esto el tiene que introducir de que fecha a que fecha se hara este calculo; Para lograr esto ami se me ocurrio hacer 2 tablas:
Código SQL [-]
HISTORIAL_COMPRAS (
    COD_HISTORIAL_COMPRA  INTEGER NOT NULL,
    COD_MERCANCIA         VARCHAR(7),
    FECHA_COMPRA          DATE
);

HISTORIAL_VENTAS (
    COD_HISTORIAL_VENTAS  INTEGER NOT NULL,
    COD_MERCANCIA         VARCHAR(7),
    FECHA_VENTA           DATE
);
Donde boy guardando cada compra y venta que se van haciendo registro por registro por ejemplo: si compro 4 Tv guardo 4 veces su codigo 0000009.
Bien ahora esas tablas en las pruebas que estoy haciendo tienen los siguientes datos:

Código SQL [-]
COD_HISTORIAL_COMPRA  COD_MERCANCIA   FECHA_COMPRA
        1               0000009       2006-10-06
        2               0000009       2006-10-06
        3               0000009       2006-10-06
        4               0000009       2006-10-06

Código SQL [-]
COD_HISTORIAL_VENTAS  COD_MERCANCIA   FECHA_VENTA
        1               0000009       2006-10-07
        2               0000009       2006-10-08

Donde he vendido esa Tv 2 Veces pero en fechas distintas; En la consulta que se hace si la hago del 2006-10-06 al 2006-10-08, en mi resultado tendrian que estar solo 2 Tv y se sumaria su precio de compra de esas 2 Tvs.

Bueno mi problema es que no puedo lograr eso, el codigo de la consulta que hago es este:
Código SQL [-]
Select HC.Cod_Mercancia
From   Historial_Compras HC
Where  Hc.Fecha_Compra >='06.10.2006' And
       Hc.Fecha_Compra <='06.10.2006' And
       (Hc.Cod_Mercancia)
       Not In (Select HV.Cod_Mercancia
               From   Historial_Ventas HV
               Where  HV.Fecha_Venta >= '06.10.2006' And
                      HV.Fecha_Venta <= '06.10.2006')
Aqui cuando no se hiso ninguna venta en esa fecha si me muestra todas las ventas pero si cambio ha una fecha que si aya hecho alguna venta me desaparece todos los registros aunque se aya vendido 1 nadamas en esa fecha...
Código SQL [-]
Select HC.Cod_Mercancia
From   Historial_Compras HC
Where  Hc.Fecha_Compra >='06.10.2006' And
       Hc.Fecha_Compra <='07.10.2006' And
       (Hc.Cod_Mercancia)
       Not In (Select HV.Cod_Mercancia
               From   Historial_Ventas HV
               Where  HV.Fecha_Venta >= '06.10.2006' And
                      HV.Fecha_Venta <= '07.10.2006')
la verdad estoy en la oscuridad ya intente otras formas y nada... alguien que me pueda iluminar con alguna idea de como lograr esto... o si existe otra forma de lograr lo que necesito... se lo agradeceria muchisimo...
__________________
Saludos...
Responder Con Cita