Big Thanks to Steven Klassen for cleaning this up!
Here is a combined report if you don't want them separated:
select * from ( select max(e.eventtime) eventtime, n.nodeid, n.caption nodename, null interfaceid, null interfacename, e.message, e.acknowledged from nodes n join events e on n.nodeid = e.netobjectid and netobjecttype = 'N' group by e.eventtime, n.nodeid, n.caption, e.message, e.acknowledged union select max(e.eventtime) eventtime, n.nodeid, n.caption nodename, i.interfaceid interfaceid, i.caption interfacename, e.message, e.acknowledged from nodes n join events e on n.nodeid = e.netobjectid join interfaces i on n.nodeid = i.nodeid and netobjecttype = 'I' group by e.eventtime, n.nodeid, n.caption, i.interfaceid, i.caption, e.message, e.acknowledged ) tbl where tbl.acknowledged = 0