Привет, у меня есть запрос, который требует получить последнюю временную метку. Ниже мои таблицы. Заранее спасибо.
Таблица 1: CmInfo
MAC-адрес | ID узла |
---|---|
1234567890 | 1234 |
Таблица 2: Детали сброса
MAC-адрес | ResetReason |
---|---|
1234567890 | Перезагрузить |
Табл.3 3: CmCollection
отметка времени | ID узла |
---|---|
20.03.2022 11:00 | 1234 |
2022-03-20 11:10 | 1234 |
20.03.2022 11:15 | 1234 |
Требуемый вывод: просто получите последнюю временную метку из таблицы 3 и соединитесь с таблицей 1 и 2.
Отметка времени | MAC-адрес | ResetReason |
---|---|---|
20.03.2022 11:15 | 1234567890 | Перезагрузить |
можно попробовать такой запрос:
SELECT c.MacAddress, MAX(cc.timestamp) , r.MacAddress
FROM CmInfo c
LEFT JOIN ResetDetails r ON r.MacAddress = c.MacAddress
LEFT JOIN CmCollection cc ON cc.NodeID = c.NodeID
WHERE c.MacAddress = "1234567890";
@Alex Tulio - я исправил - извините
Используйте следующий запрос
SELECT timestamp,
CI.macaddress,
resetreason
FROM (SELECT nodeid,
Max(timestamp) timestamp
FROM cmcollection
GROUP BY nodeid) CC
JOIN cminfo CI
ON CC.nodeid = CI.nodeid
JOIN resetdetails RD
ON RD.macaddress = CI.macaddress
спасибо приятель, это работает.
Спасибо друг. но я получаю неизвестный столбец «CmInfo.mac» в предложении where.