Consulta Mysql: Obtener Datos de Registros Anteriores

  • Autor Autor maxvt
  • Fecha de inicio Fecha de inicio
maxvt

maxvt

1
Zeta
SEO
Verificación en dos pasos activada
Suscripción a IA
Hola amigos, necesito ayuda en un query en Mysql.

Tengo dos tabalas, Ingreso y Egreso

Y un reporte donde junto segun fecha los datos de esas dos tablas, pero en el Query necesito que un un registro toma un datos del registro anterior

Tengo eso.
select a.fecha, c.departamento, d.servicio, (ing_directos+ing_ventilados+ing_privlib+ing_traslado) as total_ingresos, b.total as total_egresos,
(ing_directos+ing_ventilados+ing_privlib+ing_traslado)-b.total as camas_ocupadas, e.camas_ocupadas as camas_ayer, no_camas
from ingresos as a
join
(SELECT fecha, iddepartamento, idservicio, (egr_dir_vivo+eg_traslado+eg_priv_lib+eg_muerto_men_48+eg_muerto_mas_48) as total from egresos) as b
on (a.fecha=b.fecha and a.iddepartamento=b.iddepartamento and a.idservicio=b.idservicio)
join departamento as c on (a.iddepartamento=c.iddepartamento)
join Servicio as d on (a.iddepartamento=d.iddepartamento and a.idservicio=d.idservicio)
left join (select a.fecha, a.iddepartamento, a.idservicio, (ing_directos+ing_ventilados+ing_privlib+ing_traslado) as total_ingresos, b.total as total_egresos,
(ing_directos+ing_ventilados+ing_privlib+ing_traslado)-b.total as camas_ocupadas
from ingresos as a
join
(SELECT fecha, iddepartamento, idservicio, (egr_dir_vivo+eg_traslado+eg_priv_lib+eg_muerto_men_48+eg_muerto_mas_48) as total from egresos) as b
on (a.fecha=b.fecha and a.iddepartamento=b.iddepartamento and a.idservicio=b.idservicio) where a.fecha = date(a.fecha-1) as e on (a.iddepartamento=e.iddepartamento and a.idservicio=e.idservicio and a.fecha=b.fecha)
where a.fecha=a.fecha

where a.fecha = date(a.fecha-1) aqui quiero que me muestre el dato de la fecha anterior, pero siempre me sale NULL

alguien me ayuda
 
a.fecha = date(a.fecha-1) te va a dar siempre distinto, tendrias que agregar otra ingresos as a1 y despues de hacer el join poner el filtro a.fecha = date(a1.fecha-1), yo usaria la funcion dateadd para restarle uno a la fecha.
 
Atrás
Arriba