powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / еще раз об аггрегатах
4 сообщений из 4, страница 1 из 1
еще раз об аггрегатах
    #39337439
Swv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте

есть простой набор таблиц

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE TABLE TABLE0 (
    PK                                INTEGER NOT NULL,
    FULL_SUMMA   NUMERIC(15,2)
);


CREATE TABLE table1 (
    PK                     INTEGER NOT NULL,
    TABLE0_ID  INTEGER NOT NULL
);


CREATE TABLE TABLE1_EXT (
    PK                      INTEGER NOT NULL,
    TABLE1_ID               INTEGER NOT NULL,
    PRICE                  NUMERIC(15,2)
);



table1 это документ. шапка тело. получить сумму документа просто.
а вот как посчитать сумму документа и еще вывести TABLE0.FULL_SUMMA ?
...
Рейтинг: 0 / 0
еще раз об аггрегатах
    #39337444
Polesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
with CTE ( T1_PK, T0_PK, TE_SUM ) as (
select t1.PK, t1.TABLE0_ID, sum( te.PRICE )
  from TABLE1 t1
  join TABLE1_EXT te on ( te.TABLE1_ID = t1.PK )
 group by 1, 2
)

select CTE.T1_PK,
       CTE.TE_SUM,
     ( select FULL_SUMMA
         from TABLE0
        where PK = CTE.T0_PK ) as FULL_SUMMA
  from CTE;



С уважением, Polesov.
...
Рейтинг: 0 / 0
еще раз об аггрегатах
    #39337622
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swv,

если Firebird 3.0, то используй оконные функции SUM(...) OVER()
...
Рейтинг: 0 / 0
еще раз об аггрегатах
    #39337751
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы шо, таки новые хрустальные шары купили?
Я вот вообще ничего не понял.

В частности, нафига суммировать FULL_SUMMA, если он очевидно не более 1 на документ.
Наоборот, FULL_SUMMA по структуре данных может распределяться между несколькими документами.
И автор не уточняет, нужно ли вывести просто эту сумму, или распределённую согласно стоимости документов, например.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / еще раз об аггрегатах
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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