Текущий архив: 2002.12.26;
Скачать: 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 вся ветка
Текущий архив: 2002.12.26;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c