履歴テーブルがあり、各アセット ID の最新の既知のステータスを取得する必要があります。これが私の現在のクエリです:
SELECT a.AutoID AS AssetID,
(SELECT LastFound FROM Device_Status_History b WHERE a.AutoID = b.AssetID ORDER BY AutoID DESC LIMIT 0,1) LastFound,
(SELECT CheckDate FROM Device_Status_History c WHERE a.AutoID = c.AssetID ORDER BY AutoID DESC LIMIT 0,1) CheckDate
FROM (SELECT AutoID FROM Devices UNION SELECT AutoID FROM Switches) a
ユニオン サブクエリは、知りたい資産 ID をすべて取得し、他の 2 つのサブクエリを使用して、履歴テーブルから LastFound 列と CheckDate 列を取得します。全体として、これはかなりうまく機能しますが、可能であれば 2 つの履歴サブクエリを結合できるようにしたいと考えています。これを Raspberry Pi で実行しているので、パフォーマンスを最大限に引き出すことが望ましいです。