>SELECT Id, Forename, Compname, SUM(OrdTotal) TotOrd ; >FROM clients LEFT JOIN Prsndetl ON Clients.Id = PrsnDetl.ClientId; >LEFT JOIN Orders ON Clients.Id = Orders.ClientId; >GROUP BY Clients.Id, Clients.Compname, PrsnDetl.Forename; >HAVING '01' $ LOWER(Clients.CompName) ; >OR 'hr' $ LOWER(PrsnDetl.Forename) ; >OR TotOrd = 300 >Nice and simple. Do you think it's better than derived table? What is the difference in speed of execution?