Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.013 c
6-86054
Repeater
2002-10-29 20:49
2002.12.26
Как работать с SOCKS сервером?


1-85954
iap
2002-12-15 15:11
2002.12.26
TListView


14-86151
delphist2
2002-12-06 13:32
2002.12.26
Ошибка в проге


1-85902
msdn1
2002-12-17 00:10
2002.12.26
Image


3-85830
pavelsinicinv
2002-12-06 15:20
2002.12.26
SQL