powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Сумма полей
6 сообщений из 6, страница 1 из 1
Сумма полей
    #36991332
Aquest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Здравствуйте.
Есть такая проблема.
 --------------- 
VAL|   A  |   B  |...|...
 ------------------------
100|   5  |  6   |...|...
 ------------------------
200|   7  |   8  |...|...
-------------------------
SUM|   12   |   14   |...|...
Условие: каждая строка является выборкой для "определенного значения"[100,200].
Как написать ХП для вычиления суммы значений в каждом столбце.
Есть:

DECLARE integer SUM_A;
DECLARE integer SUM_B;
.................................

FOR
"определенное значение"[100,200]
DO

FOR
набор значений(поля А и B для "определенного значения" [100,200]) строки
DO
IF(поле A)
THEN
SUM_A =SUM_A+A;
END IF;

IF(поле B)
THEN
SUM_B=SUM_B+B;
END IF;
.........................
НЕДОСТАТКИ:
1.Если полей много то и переменных типа SUM_A и SUM_B тоже много- для каждого поля.
2.Много условий IF,что сказывается на производительности.
END FOR;
END FOR;
Вопрос: Есть ли возможность производить расчет по-другому?Как?
Для того, чтобы избежать недостатков (выше).
Нельзя использовать временные таблицы.
...
Рейтинг: 0 / 0
Сумма полей
    #36991341
Aquest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В данной проблеме происходит формирование таблицы (в XML) на основе данных из БД.
...
Рейтинг: 0 / 0
Сумма полей
    #36991645
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Вас чем-то не устраивает стандартное:
Код: plaintext
1.
select sum(A) as A, sum(B) as B, ...
from tab
?
Данные что, не в таблице типа:
tab (val int, a int, b int, ...)
лежат?
...
Рейтинг: 0 / 0
Сумма полей
    #36993332
Aquest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да данные лежат не в таблице.
Sum (поле) было бы применить,если есть поле со всеми значениями.
У нас же происходит формирование табличного вида просто.

Вопрос задам по простому:
как посчитать сумму значений в столбцах матрицы из n*n элементов, при
этом не создавая n переменных для каждого столбца, но на выходе нужно отрисовать эти суммы.
Без массивов. Вообще это возможно?
...
Рейтинг: 0 / 0
Сумма полей
    #36993350
Aquest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При этом обход матрицы идет построчно(сначала первая строка, а потом 2-я и т.д.)
...
Рейтинг: 0 / 0
Сумма полей
    #36993361
Aquest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так как если по столбцам то понятно, что пройдем по столбце ,вычислим, запишем,обнулим.
Далее опять в эту переменную считаем.
Но так уж сложилось, что нужно бегать по строкам.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Сумма полей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]