Как я могу заставить SQL повторять некоторую операцию на основе набора произвольное количество раз без цикла? Как я могу заставить SQL выполнить операцию против ряда чисел? Я в основном ищу способ сделать цикл, основанный на наборе.
Я знаю, что могу просто создать небольшую таблицу с целыми числами в ней, скажем от 1 до 1000, а затем использовать ее для операций диапазона, находящихся в этом диапазоне.
Например, если бы у меня была эта таблица, я мог бы сделать выбор, чтобы найти сумму чисел 100-200, например:
select sum(n) from numbers where n between 100 and 200
Любые идеи? Я ищу что-то, что работает для T-SQL, но любая платформа будет в порядке.
[Edit] У меня есть собственное решение для этого, используя SQL CLR, который отлично подходит для MS SQL 2005 или 2008. См. ниже.