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

Откуда:
Сообщений: 84
Добрый вечер.

Имеется такой запрос - select Name, Qnt, Price, Proc from tbl group by Proc desc
Необходимо выводить данные пока сумма столбца Proc <= 30. Как это сделать, не могу сообразить.
Заранее спасибо.
1 дек 09, 22:51    [8005333]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных, до определенной суммы столбца  [new]
iljy
Member

Откуда:
Сообщений: 8711
sa13m,

хотите сказать такой запрос у вас что-то выводит?? Он синтаксически не верен! И что значит - пока меньше? каков порядок суммирования?
1 дек 09, 23:13    [8005390]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных, до определенной суммы столбца  [new]
sa13m
Member

Откуда:
Сообщений: 84
Извиняюсь select Name, Qnt, Proc from tbl order by Proc desc

Таблица
№ Name Qnt Proc
1 qqq 1 12
2 www 3 8
3 eee 6 5
4 rrr 3 4
5 eee 6 3

Необходимо вывести только строки с 1-4, так как сумма столбца Proc строк с 1-4 = 29 по условию <= 30.
2 дек 09, 05:21    [8005722]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных, до определенной суммы столбца  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
https://www.sql.ru/faq/faq_topic.aspx?fid=125
2 дек 09, 06:20    [8005734]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных, до определенной суммы столбца  [new]
sa13m
Member

Откуда:
Сообщений: 84
tpg
https://www.sql.ru/faq/faq_topic.aspx?fid=125


Если можно под мою проблемку пример, спасибо.
2 дек 09, 22:43    [8011092]     Ответить | Цитировать Сообщить модератору
 Re: Вывод данных, до определенной суммы столбца  [new]
Ozzy-Osbourne
Member

Откуда: Balashikha
Сообщений: 139
sa13m
Если можно под мою проблемку пример, спасибо.
Вы faq по нарастающему итогу смотрели ? там же всё разжёвано, чуть ли не копипаст можно делать... :-/
Ладно, забирайте - точно под вашу "проблемку" (и ваши данные):
declare @t table(id int, nm varchar(10), q int, p int)
insert @t select 1,'qqq',1,12
insert @t select 2,'www',3,8
insert @t select 3,'eee',6,5
insert @t select 4,'rrr',3,4
insert @t select 5,'eee',6,3

select t1.id,t1.nm,t1.q,t1.p,runSum=sum(t2.p)
from @t t1
left join @t t2 on t1.id>=t2.id
group by t1.id,t1.nm,t1.q,t1.p
having sum(t2.p)<=30
idnmqprunSum
1qqq11212
2www3820
3eee6525
4rrr3429
3 дек 09, 00:12    [8011395]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить