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

como obtener diferencias en acumulados

Estas en el tema de como obtener diferencias en acumulados en el foro de Mysql en Foros del Web. Buenas soy novato en las bases de datos y estoy intentando hacer una tabla muy sencilla con 3 campos: fecha de introduccion fecha de reserva ...
  #1 (permalink)  
Antiguo 06/01/2008, 11:38
 
Fecha de Ingreso: enero-2008
Mensajes: 6
Antigüedad: 16 años, 10 meses
Puntos: 0
como obtener diferencias en acumulados

Buenas soy novato en las bases de datos y estoy intentando hacer una tabla muy sencilla con 3 campos:
fecha de introduccion
fecha de reserva
numero reservas acumuladas
ahora tengo el problema que no se como hacer una consulta que me saque la diferencia en el numero de reservas acumuladas, es decir para cada fecha de introducción cuando reservas se han realizado.

muchas gracias.
  #2 (permalink)  
Antiguo 06/01/2008, 13:31
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: como obtener diferencias en acumulados

hola novatosql, yo no soy experta en sql, pero realmente no entiendo ni que quieres hacer, y tampoco entiendo q diferencia vas a sacar si tienes dos campos de fecha y otro int, explicame la operacion matematicamente para ver si te puedo ayudar, saludos
  #3 (permalink)  
Antiguo 06/01/2008, 13:43
 
Fecha de Ingreso: enero-2008
Mensajes: 6
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: como obtener diferencias en acumulados

se trata de una tabla en la se introduce en el número de reservas acumuladas, donde figuran la fecha en la que se introducen la fecha en la que se realizan las reservas y para que fecha son.
por ejemplo
fecha de reserva fecha para reserva numero de reservas acumuladas
12-11-07 01-01-08 80
20-11-07 01-01-08 90

por lo que intento una consulta que me diga que el 20-11-07 se realizaron 10 reservas.

las tengo que poner acumuladas porque son como recibo los datos.

muchas gracias
  #4 (permalink)  
Antiguo 06/01/2008, 13:59
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: como obtener diferencias en acumulados

y siempre las fechas para reserva va n a ser iguales??? solamente van haber dos campos que tengan las mismas fechas de reservas, lo que te quiero decir es, debes ver cual es tu forma de seleccionar los dos campos que necesitas restar, y podrias hacer esto: colocar en un array [0], el primer dato, en array[1], el segundo, y devolver la resta de ellos, me entiendes???
  #5 (permalink)  
Antiguo 06/01/2008, 14:17
 
Fecha de Ingreso: enero-2008
Mensajes: 6
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: como obtener diferencias en acumulados

las fechas iran cambiando, y entiendo lo que dices, pero ahi es donde tengo el problema como selecciono, y lo de los arrays como lo puedo hacer?

gracias.
  #6 (permalink)  
Antiguo 06/01/2008, 14:25
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: como obtener diferencias en acumulados

pues lo de los arrays seria

i=0;
aqui debes colocar tus sentencias de select basandote en tus fechas, pero como no se en que necesitas basarlas no te puedo decir la sintaxis
while (rset.next()){
arr[i]=rset.getint("nombre_campo_tabla");
i++;
}

tendras dentro del arreglo todos los numeros de reservas acumuladas, si son dos, entonces restas los dos campos, arr[1]-arr[0], y eso es lo que devuelves
  #7 (permalink)  
Antiguo 06/01/2008, 14:33
 
Fecha de Ingreso: enero-2008
Mensajes: 6
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: como obtener diferencias en acumulados

yo he realizado la siguiente consulta:

select week(dia_planing,3) as semana,
case when week(dia_planing,3)=(select (week(dia_planing,3)) from reservas order by dia_planing) then numero_reservas
else (numero_reservas-(select numero_reservas from reservas as reservasanteriores where week(dia_planing,3)=(week(dia_planing,3)-1))) end as unidades
from reservas order by dia_planing

esto consulta me da subquery returns more than 1 row
  #8 (permalink)  
Antiguo 06/01/2008, 14:59
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: como obtener diferencias en acumulados

que es lo que te retorna esa consulta???
  #9 (permalink)  
Antiguo 06/01/2008, 15:02
 
Fecha de Ingreso: enero-2008
Mensajes: 6
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: como obtener diferencias en acumulados

da subquery returns more than 1 row
he intento sacar cada semana la diferencia en los acumulados de las reservas
  #10 (permalink)  
Antiguo 06/01/2008, 15:07
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: como obtener diferencias en acumulados

pero tu no puedes ver el resultado de ese subquery???
  #11 (permalink)  
Antiguo 06/01/2008, 15:11
 
Fecha de Ingreso: enero-2008
Mensajes: 6
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: como obtener diferencias en acumulados

ya entendi, he hecho solo la subquery y da 0
  #12 (permalink)  
Antiguo 06/01/2008, 15:19
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: como obtener diferencias en acumulados

creo q no se deben colocar querys dentro de querys, y debido a eso es tu error, un dia lo lei en un foro, realmente yo nunca lo he hecho... pero posiblemente este alli el error
  #13 (permalink)  
Antiguo 06/01/2008, 18:45
 
Fecha de Ingreso: enero-2008
Mensajes: 1
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: como obtener diferencias en acumulados

Buenas noches necesito una ayuda in tento extraer los resultados de una base de datos en mysql a traves de una consulta entre dos fechas una inicial y otra final a traves de un between, la consulta sql me la realiza perfectamente, el dilema es comole asignolos valores a las variable de fecha inicial y fecha final a la consulta sql a traves de php en si el codigo como seria, perdonen la ignoracia, mi mail es [email protected]
  #14 (permalink)  
Antiguo 11/01/2008, 08:48
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años, 7 meses
Puntos: 4
Re: como obtener diferencias en acumulados

esto deberia ir en el foro de PHP, no crees
ademas en el foro no hay respuestas personales, para eso es FORO, para compartir conocimientos
Gracias

Cita:
Iniciado por seyo2001 Ver Mensaje
Buenas noches necesito una ayuda in tento extraer los resultados de una base de datos en mysql a traves de una consulta entre dos fechas una inicial y otra final a traves de un between, la consulta sql me la realiza perfectamente, el dilema es comole asignolos valores a las variable de fecha inicial y fecha final a la consulta sql a traves de php en si el codigo como seria, perdonen la ignoracia, mi mail es [email protected]
PD. en el foro PHP encontraras la ayuda que necesitas, yo te puedo ayudar
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
  #15 (permalink)  
Antiguo 11/01/2008, 08:55
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años, 7 meses
Puntos: 4
Re: como obtener diferencias en acumulados

para la pregunta original se me ocurre lo siguiente
tabla : reservas
f_ing f_res acum
2008-01-01 2008-01-01 10
2008-01-02 2008-01-02 20
2008-01-03 2008-01-03 30

SELECT (acum - (SELECT acum FROM reservas WHERE f_res < '2008-01-03' ORDER BY f_res DESC LIMIT 1)) as actual
FROM reservas
WHERE f_res = '2008-01-03'
LIMIT 1

explico: buscamos el acumulado de la fecha entregada y le restamos el acumulado de la fecha inmediatamente menor a la entregada ( ORDER BY DESC LIMIT 1)

espero sea util...

Gracias
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
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 22:19.