Я действительно считаю плохой идеей вычислять факториал в SQL Server, но если вам необходимо:
with pair (n, f) as (
select 0 as n, 1 as f
union all
select p.n + 1 as n, p.f * (p.n + 1) from pair p
where p.n < 5 -- factorial of 5
)
select f from pair where n = 5; -- factorial of 5
Вам нужно поместить туда значение N
дважды. Результат:
f
---
120