Из вашего беспорядка текста выше я предполагаю следующую схему
CREATE TABLE FLEET_MASTERS
(
FMS_ID INT PRIMARY KEY,
REG_NO VARCHAR(10)
)
CREATE TABLE ODOMETERS_READING
(
OMR_ID INT PRIMARY KEY,
FMS_ID INT,
ODO_READING INT,
ODO_READING_DATE DATETIME,
ODO_READING_TYPE INT
)
Учитывая эту схему, следующий запрос даст вам то, что вы хотите, при условии, что на Reg_No имеется только одна запись для данной даты / времени:
SELECT
FM.REG_NO,
OMR.ODO_READING,
OMR.ODO_READING_DATE,
OMR.ODO_READING_TYPE
FROM FLEET_MASTERS FM
INNER JOIN ODOMETERS_READING OMR
ON FM.FMS_ID = OMR.FMS_ID
WHERE OMR.ODO_READING_DATE = (
SELECT MAX(OMR1.ODO_READING_DATE)
FROM ODOMETERS_READING OMR1
WHERE OMR1.FMS_ID = FM.FMS_ID
)
Я думаю, что у меня правильный синтаксис, все из головы, нет SQL-сервера, удобного для его тестирования.