Вниз
Скачать: CL | DM;

Накопление суммы в запросе   Найти похожие ветки 

 
Vick   (2002-12-05 10:09) [0]

С добрым всех утром! Есть проблема: нужно составить правильно запрос. Например есть таблица:

a b c
-------------
1 10 100
2 20 200
3 30 300


как сделать так чтобы запрос выдавал следующие значения:


a b c
-------------
1 10 100
3 30 300
6 60 600

заранее спасибо за ответ...


 
FreeLancer ©   (2002-12-05 10:12) [1]

Прочитай сначала это:
http://delphi.mastak.ru/vopros/index.html


 
Vick   (2002-12-05 10:17) [2]

Ну зачем так женщину обижать :( мне просто некогда думать, нужно срочно делать, прошу прощение, если вопрос некорректный


 
Johnny Smith ©   (2002-12-05 10:17) [3]

Я бы создал:
1) ХП
2) в ней временную табличку со столбцами a,b,c
3) заполнил бы ее в цикле с накоплением суммы в с
4) выполнил бы селект к ней
Результаты ХП вернул бы в виде датасета


 
Vick   (2002-12-05 10:21) [4]

Я в принцыпе так и делаю, но на самом деле все значительно сложнее... у меня при занесении следующей записи почему-то сумма двух предыдущих получается равной нулю...


 
Johnny Smith ©   (2002-12-05 10:23) [5]

???????
Это как?
Приведите код.


 
Vick   (2002-12-05 10:36) [6]

Короче если с таблицей первой работать то все нормально, но есть другая фигня: я в таблицу записываю первую запись со значением 1, потом пишу вторую запись со значением 2 + значение первой записи (а как его вытянуть я не знаю, пожемц-то получается 0). Сорри что код не привожу, там он очень сложный, боюсь будет непонятно.


 
Johnny Smith ©   (2002-12-05 10:49) [7]

Так ты заполняй временную таблицу в цикле, причем сумму накапливай в переменной, а не дергай ее из основной таблицы каждый раз.


 
Wolf ©   (2002-12-05 11:45) [8]

select (sum(a) from table where a<=t.a),
(sum(b) from table where a<=t.a),
(sum(c) from table where a<=t.a)
from table t
order by a

Это изврат, но должно работать (тормознуто)
А вообще сделать надо Хранимую процедуру.
Как не скажу, я MSSQL не знаю


 
Vick   (2002-12-05 16:13) [9]

Все, заработало, спасибки!!! Я просто сильно много хотела от одной таблицы :))))



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
1-85984
xyz
2002-12-16 00:43
2002.12.26
Как изменить BIOS?


1-85941
tv
2002-12-17 16:44
2002.12.26
Меню автозавершения строк в Code Editor


4-86220
KUZIA
2002-11-12 13:10
2002.12.26
Как написать скринсавер


3-85822
brestmarket
2002-12-05 20:39
2002.12.26
Как осуществить хранение в БД документов с графикой?


1-85988
Самовар - Чайник
2002-12-15 20:29
2002.12.26
Что такое MSDN, с чем его едят и где его можно взять ?




   Наверх