Valeu. Consegui a solução, na verdade eu estava errando no group by. aí está a solução select m1.[From], Count(*) as total, total2.total, total3.total from messages m1 inner join (select m2.[From], Count(*) as total from messages m2 where m2.[status] <= 4 and m2.asd= 1 group by m2.[From]) as total2 on m1.[From] = total2.[From] inner join (select m3.[From], Count(*) as total from messages m3 where m3.[status] <= 4 and m3.asd= 3 group by m3.[From]) as total3 on m1.[From] = total3.[From] group by m1.[From], total2.total, total3.total Grande Abraço.