select * from ( select max(outages.outageid) as outageid,node.nodeid,node.nodelabel as name from outages natural join node where (outages.serviceid=1 or outages.serviceid = 143) and (outages.ifregainedservice is null or outages.ifregainedservice > now() - interval ''1 day'') group by node.nodeid,node.nodelabel order by node.nodeid asc ) as a left join (select outageid,max(iflostservice) as timedown, ifregainedservice as timeup from outages group by outages.outageid,ifregainedservice) as b on a.outageid=b.outageid order by a.nodeid asc