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

Consulta super chunga Mysql

Estas en el tema de Consulta super chunga Mysql en el foro de Mysql en Foros del Web. Hola, aunque suelo entrar en el foro y leeros, nunca antes había posteado. Os escribo para consultaros una consulta que no soy capaz de crear ...
  #1 (permalink)  
Antiguo 06/08/2007, 23:48
 
Fecha de Ingreso: agosto-2007
Mensajes: 1
Antigüedad: 16 años, 8 meses
Puntos: 0
Consulta super chunga Mysql

Hola,
aunque suelo entrar en el foro y leeros, nunca antes había posteado. Os escribo para consultaros una consulta que no soy capaz de crear o de calcular. He buscado en el foro y en internet y tampoco encuentro nada.

He creado una base de datos con información sobre una cartera de acciones, en la que voy anotando todas las acciones que compro o vendo, con su fecha y precio.

El problema lo tengo en que cuando quiero calcular el precio medio de las acciones, pero teniendo en cuenta que las que ya vendí no quiero que las tenga en cuenta en el precio medio.

Os pongo un ejemplo para intentar aclarar un poco más el tema:
Supongamos que compro las siguientes acciones:
01/01/2007 100 Acciones Endesa a 10€ cada una.
02/01/2007 100 Acciones Endesa a 20€ cada una.

Si uso AVG() para calcular la media, me dará:
200 Acciones Endesa a 15€ cada una, lo cual es correcto

Pero si vendo algunas acciones:
03/01/2007 100 Acciones Endesa a 30€ cada una.

Quiero que sea una cola (FIFO), es decir que las acciones que venda, "cancelen" a las primeras acciones que compré. En esta caso, lo que debería devolverme es que el precio medio es 20 €, y es lo que no se cómo hacer.

Si lo hago con AVG(), obviamente me devolverá que las acciones valen 0 € por acción (100*10€ + 100*20€ - 100*30€)/100 = 0 €, ya que no considera que es una cola.

¿Se puede hacer esto de alguna manera? ¿Es mejor hacerlo desde PHP?

Muchas gracias por vuestra ayuda.
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 13:18.