Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Суммировать до заданного значения  [new]
DmitryVT
Member

Откуда: VRN
Сообщений: 192
Добрый день.

Подскажите пожалуйста всю голову изломал, как можно вывести те строки из таблицы, сумма которых (текущей и предыдущих по ключу IDSTR ) при расчете удовлетворяла требованием.

Т.е. предположим есть таблица:

DECLARE @TABLE TABLE (IDSTR INT IDENTITY(1,1),SKU VARCHAR(20),QTY NUMERIC(18,3))
DECLARE @SUMPOROG NUMERIC(18,3)
------
INSERT INTO  @TABLE (SKU,QTY) SELECT 'kb125',150
INSERT INTO  @TABLE (SKU,QTY) SELECT 'kb700',250
INSERT INTO  @TABLE (SKU,QTY) SELECT 'kb365',100
INSERT INTO  @TABLE (SKU,QTY) SELECT 'kb569',300
INSERT INTO  @TABLE (SKU,QTY) SELECT 'kb555',150
INSERT INTO  @TABLE (SKU,QTY) SELECT 'kb356',100
INSERT INTO  @TABLE (SKU,QTY) SELECT 'kb645',300
INSERT INTO  @TABLE (SKU,QTY) SELECT 'kb002',200
INSERT INTO  @TABLE (SKU,QTY) SELECT 'kb126',100
INSERT INTO  @TABLE (SKU,QTY) SELECT 'kb559',100

SELECT * FROM @TABLE


при @SUMPOROG = 500 проссумироваться должны поля IDSTR = 1,2,3

при @SUMPOROG = 1000 проссумироваться должны поля IDSTR = 1,2,3,4,5,6 здесь 6 строка в сумме даст 1050 это удовлетворяет так как последующею суммировать нет необходимости

На ум приходит только цикл но наверное есть проще варианты.


За ранее всем спасибо!
10 фев 14, 13:41    [15546017]     Ответить | Цитировать Сообщить модератору
 Re: Суммировать до заданного значения  [new]
Glory
Member

Откуда:
Сообщений: 104760
Поиск по форуму - нарастающий итог
10 фев 14, 13:42    [15546026]     Ответить | Цитировать Сообщить модератору
 Re: Суммировать до заданного значения  [new]
DmitryVT
Member

Откуда: VRN
Сообщений: 192
Спасибо GLORY, нашел все что нужно !!! и даже больше
10 фев 14, 14:10    [15546219]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить