Có lẽ điều này sẽ làm những gì bạn muốn:
SELECT alid, max(ts) as ts
FROM ((SELECT AL.alID, AL.al_date AS ts FROM AL)
UNION ALL
(SELECT MRA.mraNR, MRA.add_date FROM MRA)
UNION ALL
(SELECT AMG.mraNR, AMG.lastupd FROM AMG)
) t
GROUP BY alID
ORDER BY ts DESC
LIMIT 20;
Nó sẽ trả về 20 id riêng biệt với các giá trị mới nhất trong bất kỳ bảng nào trong ba bảng.