Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

problema consuta registro unico

Estas en el tema de problema consuta registro unico en el foro de Bases de Datos General en Foros del Web. mi problema es el siguiente estoy elaborando una consulta para determinar los costos de las ordenes de produccion, el problema es que el costo de ...
  #1 (permalink)  
Antiguo 16/11/2008, 22:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 76
Antigüedad: 17 años, 8 meses
Puntos: 0
problema consuta registro unico

mi problema es el siguiente estoy elaborando una consulta para determinar los costos de las ordenes de produccion, el problema es que el costo de los productos se guarda en otra tabla en la que se guarda la informacion de las compras.
si hago una consulta como esta

SELECT DeOrdenTrabajoRep.CodArticulo AS Articulo, DeOrdenTrabajoRep.Cantidad AS CantidadOrden, DeCompras.Costo INTO CostoOrdenes
FROM (DeOrdenTrabajoRep INNER JOIN MaOrdenTrabajo ON DeOrdenTrabajoRep.IdOrdenTrabajo = MaOrdenTrabajo.IdOrdenTrabajo) LEFT JOIN DeCompras ON DeOrdenTrabajoRep.CodArticulo = DeCompras.CodArticulo
WHERE (((Format([FechaTerminado],"yyyymmdd"))>="20081013" And (Format([FechaTerminado],"yyyymmdd"))<="20081113") AND ((MaOrdenTrabajo.IdOrdenTrabajo)=1) AND ((MaOrdenTrabajo.Estado)=4))
GROUP BY DeOrdenTrabajoRep.CodArticulo, DeOrdenTrabajoRep.Cantidad, DeCompras.Costo

Me devuelve algo como esto:

Articulo CantidadOrden Costo
ME0025 4 160
ME0025 4 165
ME0025 4 170
ME0025 4 175
ME0025 4 190
ME0031 4 11,5
ME0031 4 11,99
ME0031 4 12,59

lo que necesito es que me devuelva un costo por articulo algo asi:
Articulo CantidadOrden Costo
ME0025 4 160
ME0031 4 11,5
  #2 (permalink)  
Antiguo 17/11/2008, 02:37
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: problema consuta registro unico

Tu problema es que SQL no sabe de contabilidad.

Para determinar el coste de una venta hay que decidir que coste de compra vas a aplicar, con un ejemplo quizas lo veas claro...

Compras
fecha::::::::Articulo::cantidad::costeUnitario
01/01/08::::::25:::::::::5:::::::::10
25/01/08::::::25:::::::::5:::::::::20


Ventas
fecha::::::::Articulo::cantidad::precio
26/01/08:::::::25:::::::::7:::::::::25


Se trata de ver el coste de la venta del dia 26. Tanto podria ser 5x10+2x20=90 como 2x10+5x20=120 segun si aplicas FIFO (First Input First output) o LIFO (Last Input First Outpu) eso lo debes decidir tu no lo va a hacer el SQL.

Una solución informaticamente simple seria aplicar un coste medio pero contablemente no es muy buena. Ten en cuanta que ademas debes descontar lo que has vendio, sigamos con el ejemplo...

Compras
fecha::::::::Articulo::cantidad::costeUnitario
01/01/08::::::25:::::::::::5:::::::::10
25/01/08::::::25:::::::::::5:::::::::20
27/01/08::::::25:::::::::10:::::::::30

Ventas
fecha::::::::Articulo::cantidad::precio
26/01/08:::::::25:::::::::7:::::::::25
28/01/08:::::::25:::::::::7:::::::::25

Cual seria el coste de cada una de las dos ventas si aplicamos FIFO, LIFO o coste medio?

Ya se que no te he resuelto la pregunta... tienes que plantearte mas cosas....

Quim
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:33.