У меня есть три таблицы в базе данных SQLite3.Я хочу получить результат из одной строки (для строки json) с последней записью влажности и температуры для каждого идентификатора устройства , что означает две записи из температуры и одну из влажности.
Три показания вставляются одновременно, поэтому найдите одно MAX(Timestamp)
, а затем найдите другие записи с той же меткой времени.
Результат должен выглядеть следующим образом:
Timestamp H C C
1545732002 50 25 25
Самое близкое, что я могу получить на данный момент, это:
SELECT max(Humidity.Timestamp), Humidity.H, Temperature.C, CoolTemp.C
FROM Temperature, Humidity
INNER JOIN Devices AS DeviceHum ON Humidity.DeviceID = DeviceHum.DeviceID
INNER JOIN Temperature AS CoolTemp ON Temperature.Timestamp = Humidity.Timestamp`
, который дает мне последние H и C с устройства 1, но не последний C с устройства 2. Для запуска также требуется 19 секунд.
Я не могу разобраться с этим.
Сама база данных -> logtest.db в file.io 307,2kB
Таблицывыглядеть так:
