SQL Server не имеет логического значения
UPDATE @tmpRank
SET IsXYSale = CASE WHEN dbo.Sales_XForY.ID IS NULL THEN 0 ELSE 1 END
FROM @tmpRank
LEFT JOIN dbo.Sales_XForY ON SaleId = @tmpRank.SaleId
В этом случае вы можете использовать как работает бит: любые ненулевые, ненулевые значения становятся равными 1. Это предполагает, что вы никогда не можете иметь 0 в качестве значения идентификатора, конечно ...
SET IsXYSale = ISNULL(dbo.Sales_XForY.ID, 0)