Hola, he buscado y leido pero no logró dar con la solucion correcta al siguiente problema:
tengo una tabla con informacion de neumaticos, digamos asi:
neumaticos
=========
id_neumatico
medida
marca
en otra tabla aparecen los neumaticos que corresponden a un vehiculo y su posicion
neumaticos_vehiculo
==============
id_vehiculo (de otra tabla con los vehiculos)
id_neumatico
posicion
y otra con su historial (cuando han entrado, o sea se colocaron) en el vehiculo, o cuando se retiro de el mismo, que kms tenia ese vehiculo en particular
en ese momento, en que posicion, y que profundidades tenia el neumatico
historial
=======
id_neumatico
vehiculo
posicion
kms_vehiculo
fecha
evento
profundidad_exterior
profundidad_media
profundidad_interior
los eventos pueden ser:
entrante
saliente
rotacion
chequeo
El sentido de estas tablas es mantener un registro del neumatico, su "vida" a lo largo de varios cambios.
El problema es que necesito saber cuales son las ultimas profundidades registradas. Por logica deberia ser la de la ultima fecha del ultimo evento de "entrante". Con la sgte consulta logro obtener todos los neumaticos de un vehículo en particular pero no puedo obtener la ultima profundidad porque me devuelve todos los registros que combinan con historial y no se como crear una comparación que me permita retornar solo la fecha mas reciente de ese neumático en el historial
Código PHP:
SELECT
inv.codigo,
nv.posicion,
ht.prof_ext,
ht.prof_med,
ht.prof_int,
ht.fecha
FROM neumaticos_vehiculos nv
LEFT JOIN neumaticos_inventario inv
ON inv.id_interno = nv.id_neumatico
LEFT JOIN neumaticos_historial ht
ON ht.id_neumatico = nv.id_neumatico AND ht.movimiento = 'cambio_entrante'
WHERE nv.id_vehiculo = 95
ORDER BY nv.posicion, ht.fecha DESC
en la imagen adjunta muestro los registros que me debería devolver.
llevo días detenido en esto y cualquier luz será agradecida