select * from (SELECT i.*, p.PartNo, p.Description, l.Location, w.WarehouseCode, w.Caption AS Warehouse, w.WarehouseId, Row_Number() over (partition by p.PartNo, w.WarenhouseCode, i.Location order by ActionDate DESC) as RowNum FROM Inventory i JOIN Parts p ON p.PartId = i.PartId LEFT JOIN Locations l ON l.LocationId = i.LocationId LEFT JOIN Warehouses w ON w.WarehouseId = i.WarehouseId WHERE p.PartNo = @PartNo AND (@SerialNo IS NULL OR i.SerialNo = @SerialNo) AND w.WarehouseId = @WarehouseId AND i.LocationId IS NOT NULL AND l.RemoveFromInv = 0) where RowNum = 1This is one of the possible solutions - may be the simplest one here.