Конструктор отчетов. Отчёт

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (12)

просмотр истории страницы
from PAY_LOG PL
left join USERS U on PL.USER_ID_IN = U.ID
where PL.MSG_OUT = 'ACCEPTED' and PL.OPERATOR_DATE_IN >= '2013.01.01' '2013-01-01'
group by U.ID, U.CONTRACT_NUMBER, U.IDENTIFY
{code}
{code}
SET TERM ^ ;
create procedure REP_FINOPER_LAST1 (
OP_TYPE_IN integer)
returns (
from FINANCE_OPERATIONS
where OP_ID = :TMP_OP_ID
and DESCR not like '%Обещанный платеж%'
order by OP_ID desc
into :OP_ID,
suspend;
end

end^
SET TERM ; ^
{code}select distinct
users.IDENTIFY as "ФИО",
users.LOGIN users.login as "Логин",
users.sms as "Телефон",
AV.ATTRIBUTE_VALUE as "Адрес",
max(FINANCE_OPERATIONS.OP_DATE) as "Дата последнего платежа"
from users
left join FINANCE_OPERATIONS
on users.id=FINANCE_OPERATIONS.USER_ID
where users.parid=1580
and FINANCE_OPERATIONS.OP_TYPE=2
left join ATTRIBUTE_VALUES AV on ( Users.ID = AV.USER_ID and AV.ATTRIBUTE_ID = 3)
where users.parid=8
and users.deleted=0
group by users.IDENTIFY, users.LOGIN users.sms, users.login,AV.ATTRIBUTE_VALUE
{code}

*Пример 101. Список приходов абонентов через платежные системы за указанный период с указанием группы абонентов (папки) со всеми подгруппами и с Итоговой суммой (Номер договора, ФИО, Дата последнего платежа, Сумма платежа)*
{code:lang=sql}
select
U.CONTRACT_NUMBER,
U.IDENTIFY as "FIO",
cast('' as varchar(128)),
cast('' as timestamp),
sum(PL.SUMMA_IN)
from PAY_LOG PL
left join USERS U on PL.USER_ID_IN = U.ID
U.parid in (select GROUP_ID from GLN_RECURSIVE_GROUP_WALK(654))
{code}
*Пример 102. Отчёт по платежам за выбранный период в формате "id платежа - номер договора - сумма платежа"*
{code}
select
fo.OP_ID,
u.contract_number,
sum(FO.OP_SUMMA)/10000000000.00 as "Приход"
from users u
left join tarif_plan tp on u.TARIFF_ID_CACHE=tp.plan_id
left join finance_operations fo on u.id=fo.USER_ID
where fo.op_type=2 and (fo.OP_DATE between '2015-01-01' and '2018-07-01')
group by fo.OP_ID,U.CONTRACT_NUMBER
{code}

*Пример 103. Отчёт который показывает абонентов, у которых финансовых операций с типом расход больше, чем 1 за один и тот же день.*
{code}
select OP_DATE,
user_id,
count(*)
from finance_operations
where op_type=1
group by OP_DATE,user_id
having count(*)>1
{code}