![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Накопление суммы в запросе [D5, MSSQL]
Vick © (2002-12-05 10:09:00)С добрым всех утром! Есть проблема: нужно составить правильно запрос. Например есть таблица:
a b c
-------------
1 10 100
2 20 200
3 30 300
как сделать так чтобы запрос выдавал следующие значения:
a b c
-------------
1 10 100
3 30 300
6 60 600
заранее спасибо за ответ...
Vick (2002-12-05 16:13:00) [1]Все, заработало, спасибки!!! Я просто сильно много хотела от одной таблицы :))))
Wolf (2002-12-05 11:45:00) [2]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 не знаю
Johnny Smith (2002-12-05 10:49:00) [3]Так ты заполняй временную таблицу в цикле, причем сумму накапливай в переменной, а не дергай ее из основной таблицы каждый раз.
Vick (2002-12-05 10:36:00) [4]Короче если с таблицей первой работать то все нормально, но есть другая фигня: я в таблицу записываю первую запись со значением 1, потом пишу вторую запись со значением 2 + значение первой записи (а как его вытянуть я не знаю, пожемц-то получается 0). Сорри что код не привожу, там он очень сложный, боюсь будет непонятно.
Johnny Smith (2002-12-05 10:23:00) [5]???????
Это как?
Приведите код.
Vick (2002-12-05 10:21:00) [6]Я в принцыпе так и делаю, но на самом деле все значительно сложнее... у меня при занесении следующей записи почему-то сумма двух предыдущих получается равной нулю...
Vick (2002-12-05 10:17:00) [7]Ну зачем так женщину обижать :( мне просто некогда думать, нужно срочно делать, прошу прощение, если вопрос некорректный
Johnny Smith (2002-12-05 10:17:00) [8]Я бы создал:
1) ХП
2) в ней временную табличку со столбцами a,b,c
3) заполнил бы ее в цикле с накоплением суммы в с
4) выполнил бы селект к ней
Результаты ХП вернул бы в виде датасета
FreeLancer (2002-12-05 10:12:00) [9]Прочитай сначала это:
http://delphi.mastak.ru/vopros/index.html