Article View: chile.comp.programacion
Article #1004Re: MySQL y actualizacion dependiente de un campo
From: Jos� Miguel Santib��ez
Date: Thu, 03 May 2007 01:18
Date: Thu, 03 May 2007 01:18
55 lines
3602 bytes
3602 bytes
En el cap�tulo anterior (news:f1avpb$3kv$1@news.nivel5.cl), gato2006chile <gato2006chileSINESTO@gmail.com> dijo: > En esencia es un problema de Insumo e insumosVendidos. > Cada insumo tiene un costo que puede variar y un insumo vendido tiene > un registro que incluye el numero de unidades vendidas y el costo > total de dichas unidades. > > Si se tienen por ejemplo 5 unidades vendidas y se aumentan a 7 basta > solo multiplicar 2 * costoactual y agregarselo al costo de insumo > vendido. > > El problema esta cuando se tiene 5 unidades y se reduce a 3. > Si la actualizaci�n es de inmediato no habr�a problema, pero que > sucede si se produce despu�s de una actualizaci�n del precio de un > producto, existir�an inconsistencias de precios, por lo cual se usa el > costo por unidad igual a el "valor pagado/unidades vendidas" al > momento de la actualizaci�n. > > En mysql si actualizo en este orden > > Unidades=Nuevo valor > CostoTotal=(Costo total previo/Unidades previas)*(Nuevo valor de > unidades)) > > Unidades previas toma el nuevo valor, siendo que debiera tener el > valor previo. > > Si actualizo CostoTotal y despues Unidades, el valor por unidad es el > correcto. > > Mi problema es como lo haria si fueran dos o mas valores de los cuales > dependen un conjunto de campos. Hmmm.. ley�ndolo, creo que la normalizaci�n no es tan mala idea... En ese caso, habr�a bastado tener: costo_unitario al momento de la venta y cantidad... Si cambia la cantidad da lo mismo... si cambia el costo unitario posteriormente, tambi�n... Y si se quiere sacar un total vendido: select sum(costo_unitario*cantidad) resuelve todo el problema... O incluso, para una desnormalizaci�n consistente, creas un tercer campo: costo_total que se actualiza con un "update tabla set costo_total = costo_unitario*cantidad"... O, en el peor de los casos y siguiendo la idea anterior, creas un nuevo campo: costo_unitario y lo calculas con "update tabla set costo_unitario = costo_total / cantidad" y eso te va a solucionar todos los problemas posteriores... -- Apoye a la campa�a de alfabetizaci�n y | Jose M. Santiba�ez A. ordenaci�n de las news, cada post en su | <jms@nivel5.cl> lugar y el lugar exacto para cada post | <http://caos.cl/jms>
Technical Details
Message-ID:
<Xns9924DF618EBAjmsnews@200.27.221.71>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!feeder3.cambrium.nl!feed.tweaknews.nl!newsfeed0.kamp.net!newsfeed.kamp.net!fu-berlin.de!news.nivel5.cl!news.vcd.cl!not-for-mail!not-for-mailReferences:
<f1asdt$2gt$1@news.nivel5.cl> <Xns9924D79D2904Bjmsnews@200.27.221.71> <f1avpb$3kv$1@news.nivel5.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,849d401a7cebc7b1
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII
Newsgroups: chile.comp.programacion
Subject: Re: MySQL y actualizacion dependiente de un campo
From: "Jos� Miguel Santib��ez" <jms.nospam@nivel5.cl>
References: <f1asdt$2gt$1@news.nivel5.cl> <Xns9924D79D2904Bjmsnews@200.27.221.71> <f1avpb$3kv$1@news.nivel5.cl>
Organization: Caos Consultores
Message-ID: <Xns9924DF618EBAjmsnews@200.27.221.71>
User-Agent: Xnews/5.04.25
X-Face: +|NgjgFM{<rs%\Q|vUu16]a6,}?MJTA<!PEEI+x&Gw-Gyq+?$}fvo+.(,-r;)~Qzn)#{{nxU,OT?w^s<7m4ckCJ*L$c#I)yHL7b)GdU*#l
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: 104-38-246-201.adsl.terra.cl
X-Original-NNTP-Posting-Host: 104-38-246-201.adsl.terra.cl
Date: 2 May 2007 21:18:18 -0400
X-Trace: news.vcd.cl!not-for-mail 1178155098 201.246.38.104 (2 May 2007 21:18:18 -0400)
X-Original-Trace: 2 May 2007 21:18:18 -0400, 104-38-246-201.adsl.terra.cl
Lines: 55
X-Authenticated-User: jms
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!feeder3.cambrium.nl!feed.tweaknews.nl!newsfeed0.kamp.net!newsfeed.kamp.net!fu-berlin.de!news.nivel5.cl!news.vcd.cl!not-for-mail!not-for-mail