Я хотел бы написать SQL-запрос (SQL Server), который будет возвращать строки (в данном порядке), но только до заданной суммы. Мой клиент заплатил мне определенную сумму, и я хочу вернуть только те строки, которые равны < = этой сумме.SQL-хранимая процедура для добавления значений и остановки после достижения максимума
Например, если клиент заплатил мне $ 370, и данные в таблице
id amount
1 100
2 122
3 134
4 23
5 200
, то я хотел бы вернуться только строки 1, 2 и 3
Это должна быть эффективной , так как будет тысячи строк, поэтому цикл for не будет идеальным, я думаю. Или SQL Server достаточно эффективен для оптимизации хранимого proc с циклами?
Заранее спасибо. Джим.
У меня есть подозрение, что это один из немногих сценариев, где строка за строкой, курсор подход будет быстрее, чем подход, основанный на множестве ... –
Какая версия сервера SQL Server? Если не в 2012 году, у вас есть возможность перейти к нему, так как он скоро будет выпущен? –
- это идентификатор, который будет использоваться для заказа? вы можете использовать функцию LAG. – Randy