select TableA.*, TableB.*, TableC.*; > from TableA ; > Left Outer Join TableB ; > on TableA.Ident = TableB.Ident ; > and TableA.FKey = TableB.FKey ; > Left Outer Join TableC ; > on TableA.Ident = TableC.Ident ; > where TableB.FiltB = 1 ; > and TableC.FiltC = 1 ; > group by TableA.Ident >If you remove the GROUP BY you will get the 3 matching rows from TableA. Because you are applying the filter where FiltB = 1 and FiltC = 1, you are never going to get all 5 records from A. Your query is returning exactly what you are asking for. If you want all 5 records you have to remove the filter clause and put in GROUP BY TableA.Ident, TableA.FKey.