Вот мой простой запрос. Если я запрошу запись, которая не существует, я ничего не верну. Я предпочел бы, чтобы в этом сценарии был возвращен false (0). Поиск упрощенного метода для учета отсутствия записей.
SELECT  CASE
            WHEN S.Id IS NOT NULL AND S.Status = 1 AND (S.WebUserId = @WebUserId OR S.AllowUploads = 1) THEN 1
            ELSE 0
        END AS [Value]
        FROM Sites S
        WHERE S.Id = @SiteId