domingo, 22 de dezembro de 2019

SQL - Relatórios

PARTE III - Relatórios 

Comando: 

REPORT DISTINCT / UNIQUE [atributo(s)] REPORTTOP PAGETOP TOP DETAIL NONE BOTTOM PAGEBOTTOM REPORTBOTTOM FROM [tabelas] [WHERE clausula-where] [GROUP BY clausula-grupo] [ORDER BY clausula-order by]; 

Como exemplo converteremos um simples Select em um Report, temos: 

SELECT EMPNOME FROM EMP WHERE DEPNUME = 1000; REPORT DETAIL EMPNOME WHERE DEPNUME = 1000; 

Podemos direcionar a saída de um relatório tanto para um arquivo como para uma impressora. 

Para um arquivo: REPORT ON “RELAT.DAT” ... 

Para uma impressora: REPORT ON LP:” ... 

Agora incrementando um report temos: 

REPORT REPORTTOP COL 10, “*** RELATORIO DE FUNCIONARIOS *** “, TODAY %Q”DD/MM/YY”, SKIP, 
COL 10, “=================================“, SKIP 2 DETAIL COL 10, NOME %C22, SALARIO %FS, ADMISSAO %Q”DD/MM/YY” EPORTBOTTOM COL 10, “=================================“, SKIP, COL 20, “TOTAL:”, TOTAL(SALARIO) FROM EMP ORDER BY NOME; 

Onde: 

REPORTTOP 
- O que sera impresso no topo do relatório. 

PAGETOP 
- Impresso em cada topo de pagina. 

TOP
- Impresso em cada Topo do Sort-Grupo do relatório. 

DETAIL 
- O que sera impresso em cada linha. 

NONE 
- Se não tiver resultado o select, não sera impresso o relatório. 

BOTTOM 
- Impresso em cada Bottom do Sort-Grupo do relatório 

PAGEBOTTOM 
- O que sera impresso no rodapé de cada pagina. 

REPORTBOTTOM 
- O que sera impresso no rodape do relatório. 


Formatos: 

%C - caracter %
D - data 
y - ano, 
n - mes numérico, 
a - mes alfanumérico, 
d - dia, 
j - dia e ano juliano 

Exemplo: 
%D”dd/mm/yy” %
I - inteiro 

%FSZ onde: 
%F - ponto flutuante 
S - separador de 3 digitos e decimal point 
Z - zeros serão suprimidos 

%Q - data %
J - Hora 
h - hora, 
m - minutos, 
s - segundos 
%T - hora 

E temos as funções: TOTAL, AVERAGE, MAXIMUM, MINIMUM

Nenhum comentário: