The following script below I am creating so that it will return all Employee's of the filtered manager from table 'dbEmployee.Summary.tblEmployeeSnapshot' rather or not they have a record on table 'DetailPBS.tblEmployeeBidPeriodhist' or not. I am currently using LEFT JOINs to acheive this, but the problem I'm having is that when I set my filters up in the WHERE clause. It turns into a INNER JOIN and I lose my NULL columns. How can I get around this, so that I can filter on the tables needed?DECLARE @ManagerID varchar(20)DECLARE @Today DATESET @ManagerID = '323031'Set @Today = (Select DATEADD(Day,DATEDIFF(Year, -2, getDate()),0))SELECT snp.Employeeid ,b.BidID ,bg.BidgroupName + ' - ' + CONVERT(VARCHAR,b.BidStartdate,101 ) AS 'Bidgroup' ,max(BidStartdate) BidStartDate ,MAX(bg.BidgroupName) BidGroupNameFROM dbEmployee.Summary.tblEmployeeSnapshot snpLEFT JOIN dbMyInfo.DetailPBS.tblEmployeeBidPeriodhist hist ON hist.EmployeeID = snp.Employeeid LEFT JOIN ConfigPBS.tblbids b ON b.BidID = hist.Bidid LEFT JOIN ConfigPBS.tblBidGrouping bg ON b.Bidgroupid = bg.BidGroupid LEFT JOIN ConfigPBS.tblBidGroupLocationMapping bgl ON bg.BidGroupid = bgl.BidGroupid LEFT JOIN ConfigPBS.tblFunctionalGroupMapping fg ON bg.FunctionalGroupid = fg.FunctionalGroupid WHERE /*b.isactive = 1 --- How can I filter on these field without it creating a INNER JOIN AND fg.IsActive = 1 and b.BidLockout >= @Today*/ (BottomUp01ID = @ManagerID or BottomUp02ID = @ManagerID or BottomUp03ID = @ManagerID or BottomUp04ID = @ManagerID or BottomUp05ID = @ManagerID) Group BY snp.Employeeid, b.BidID, bg.BidgroupName + ' - ' + CONVERT(VARCHAR,b.BidStartdate,101 ) ORDER BY max(BidStartdate), MAX(bg.BidgroupName)