Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Накопление суммы в запросе [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо