You won't get much more out of adding in the nodes/interface tables. AlertLog.ObjectName takes care of that for you.
for reference, this shows all active alerts and joins multiple tables to end up with about the same results:
SELECT AL.LOGDATETIME AS 'TIMESTAMP', AD.ALERTNAME, AL.OBJECTTYPE, N.CAPTION AS 'NODE', 'NULL' AS 'INTERFACE' FROM ALERTLOG AL JOIN ALERTDEFINITIONS AD ON AL.ALERTDEFID=AD.ALERTDEFID JOIN NODES N ON AL.OBJECTID = N.NODEID JOIN ALERTSTATUS A ON AL.ALERTDEFID=A.ALERTDEFID WHERE A.ACKNOWLEDGED = 0 AND AL.MESSAGE = 'ALERT TRIGGERED' UNION SELECT AL.LOGDATETIME AS 'TIMESTAMP', AD.ALERTNAME, AL.OBJECTTYPE, 'NULL' AS 'NODE', I.CAPTION AS 'INTERFACE' FROM ALERTLOG AL JOIN ALERTDEFINITIONS AD ON AL.ALERTDEFID=AD.ALERTDEFID JOIN INTERFACES I ON AL.OBJECTID = I.INTERFACEID JOIN ALERTSTATUS A ON AL.ALERTDEFID=A.ALERTDEFID WHERE A.ACKNOWLEDGED = 0 AND AL.MESSAGE = 'ALERT TRIGGERED' ORDER BY TIMESTAMP DESC