Solution to TSQL Beginners Challenge 3
DECLARE @Fact TABLE(Nums INT) INSERT INTO @Fact SELECT 0 UNION ALL SELECT 1 UNION ALL SELECT 3 UNION ALL SELECT 5 UNION ALL SELECT 10; --SELECT * FROM @Fact; WITH X (Nums, cnt, Factorial, lev) AS ( SELECT Nums, CASE Nums WHEN 0 THEN 1 ELSE Nums END AS cnt, 1, 1 FROM @Fact UNION ALL SELECT e.Nums, X.cnt, X.Factorial * (X.cnt +1 -X.lev), x.lev+1 FROM @Fact e,X WHERE e.Nums=X.Nums AND X.Lev Tags:
Tags: