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

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
добрый день, All!

Есть такая табличка:
create table aaa(sklad int, tovar int, weight money, price money)
insert into aaa(sklad, tovar, weight, price)
select 1, 1, 10000.50, 1.07 union all 
select 1, 1, 20000.15, 2.06 union all 
select 1, 1, 30000.55, 3.05 union all 
select 1, 1, 90000.45, 4.04 union all 
select 1, 1, 40000.90, 5.03 union all 
select 1, 1, 20000.01, 6.02 union all 
select 1, 1, 10000.09, 7.01

Вот, никак не могу сообразить, как подсчитать самую низкую и самую высокую общую стоимость для 135000 кг товара.
Есть ли способ это сделать без курсора?
13 июл 12, 17:53    [12864705]     Ответить | Цитировать Сообщить модератору
 Re: проблема подсчета суммы  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3618
Makar4ik
добрый день, All!

Есть такая табличка:
create table aaa(sklad int, tovar int, weight money, price money)
insert into aaa(sklad, tovar, weight, price)
select 1, 1, 10000.50, 1.07 union all 
select 1, 1, 20000.15, 2.06 union all 
select 1, 1, 30000.55, 3.05 union all 
select 1, 1, 90000.45, 4.04 union all 
select 1, 1, 40000.90, 5.03 union all 
select 1, 1, 20000.01, 6.02 union all 
select 1, 1, 10000.09, 7.01

Вот, никак не могу сообразить, как подсчитать самую низкую и самую высокую общую стоимость для 135000 кг товара.
Есть ли способ это сделать без курсора?

это ж "задача рюкзака"
13 июл 12, 18:32    [12864848]     Ответить | Цитировать Сообщить модератору
 Re: проблема подсчета суммы  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Makar4ik
Есть ли способ это сделать без курсора?
А у вас есть способ с курсором? :]
13 июл 12, 18:56    [12864915]     Ответить | Цитировать Сообщить модератору
 Re: проблема подсчета суммы  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
Mnior
Makar4ik
Есть ли способ это сделать без курсора?
А у вас есть способ с курсором? :]
Он есть, но зная его эффективность - не буду его пока реализовывать.

Сейчас пробую что-то замутить через нарастающий итог.
13 июл 12, 19:02    [12864939]     Ответить | Цитировать Сообщить модератору
 Re: проблема подсчета суммы  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Makar4ik
Он есть, но зная его эффективность - не буду его пока реализовывать.
Ну мы можем показать как переделать в нормальный запрос.
На форуме были решения. Но коль вы сами, то ещё лучше.
13 июл 12, 19:35    [12865055]     Ответить | Цитировать Сообщить модератору
 Re: проблема подсчета суммы  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
Mnior,

уже...
другая проблема, что потом, после вычисления, связки восьмиэтажные с такой же группировкой.
Вот пытаюсь обойтись скалярной функцией, надеюсь, время исполнения будет приемлемым (в пределах 10-20 секунд для выборки около 1000).
13 июл 12, 21:50    [12865495]     Ответить | Цитировать Сообщить модератору
 Re: проблема подсчета суммы  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Makar4ik
скалярной функцией
Совет, скалярами лучше не пользоваться, лучше инлайн.
14 июл 12, 02:45    [12866205]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить