Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как посчитать сумму в цикле запроса? 
:(
    Опции темы
Валентин85
Дата 11.10.2012, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.9.2012

Репутация: нет
Всего: нет



как можно в цикле посчитать 2 поля одновременно?

Код

WHILE @i <> (SELECT MONTH(@Data_F) + 1 )    --проходимо по всих місяцях до якого зараз вибраний
BEGIN --присвоїмо 1 число і-го місяця            --перше число (ОК)
            SET @d2 = (CONVERT(DATETIME, @i + '/1/' + CONVERT(CHAR(4), YEAR(@Data_F)), 101)) 
             --присвоїмо максимальне число і-го місяця
             SET @d1 = (CONVERT(CHAR(10), dateadd(s, -1, dateadd(mm, datediff(m, 0, @d2) + 1, 0)), 101))
             (SELECT  formula1 = CASE
                         WHEN (SUM(Vitrati1)) IS NULL THEN
                             0
                         ELSE
                             SUM(Vitrati1)
                     END
                   , formula2 = CASE
                         WHEN (SUM(Vitrati2)) IS NULL THEN
                             0
                         ELSE
                             SUM(Vitrati2)
                     END
              FROM
                  dbo.ZvitAllMonth(@d1, @d2))
             SET @i = @i + 1
END


выводит 2 столбца с данными, но например 5 раз (когда ввели 5 месяц)
нужно посчитать все 5 столбцов и вывести одной строкой вконце
подскажите как это сделать!!! 
PM MAIL   Вверх
Akina
Дата 11.10.2012, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Формулируйте задачу, а не свои попытки её решить.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Валентин85
Дата 11.10.2012, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.9.2012

Репутация: нет
Всего: нет



например ввели дату - 2012-05-10

запрос выдаёт результат

formula1   formula2 
1              5
formula1   formula2 
2              4
formula1   formula2 
3              3
formula1   formula2 
4              2
formula1   formula2 
5              1

как посчитать все результаты?
PM MAIL   Вверх
Akina
Дата 11.10.2012, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Распечатать и посчитать, блин!

Ты что, не понимаешь, что, кроме тебя, никто не знает ни предметной области, ни решаемой задачи, ни используемых зависимостей и алгоритмов? нет, если есть на то желание - жди телепатов...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Данкинг
Дата 11.10.2012, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Цитата(Валентин85 @  11.10.2012,  14:57 Найти цитируемый пост)
как можно в цикле посчитать 2 поля одновременно?

Код

SELECT sum (pole1),sum(pole2) FROM table

Какой вопрос - такой ответ. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Валентин85
Дата 11.10.2012, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 26.9.2012

Репутация: нет
Всего: нет



http://s1.ipicture.ru/uploads/20121011/rHoqM7lt.bmp

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


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

SELECT sum(Form1),sum(Form2) FROM #testtable
DROP TABLE #testtable



Это сообщение отредактировал(а) Валентин85 - 11.10.2012, 15:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.