consulta sql para impressao de relatorio com linha pontilhada abaixo de cada produto
consulta sql para impressao de relatorio com linha pontilhada abaixo de cada produto so que ta saindo como uma coluna adicional.
segue consulta sql.
SELECT
est.controle as "Cód",
est.produto as "Produto",
est.qtde as "Qtde",
est.ativo as "Ativo",
''....................................................................''-- LinhaPontilhada
from testoque est
where est.ativo = ''SIM''
order by est.produto
segue consulta sql.
SELECT
est.controle as "Cód",
est.produto as "Produto",
est.qtde as "Qtde",
est.ativo as "Ativo",
''....................................................................''-- LinhaPontilhada
from testoque est
where est.ativo = ''SIM''
order by est.produto
Cleimar Lemes
Curtidas 0
Respostas
Arthur Heinrich
19/08/2025
A linguagem SQL não foi projetada para gerar relatórios, diretamente.
Se fosse em Oracle, usando o SQL-PLUS, que fornece uma série de recursos como paginação e totalização, até seria um pouco mais fácil gerar um relatório. Porém, retornar o relatório diretamente do resultado de uma query, é bem mais trabalhoso.
O que você pode tentar é formatar a linha e retornar o texto em uma única coluna, com quebra de linha.
Supondo:
"controle" como um código numérico de 10 dígitos, alinhado à direita
"produto" como um nome de produto com até 100 caracteres, alinhado à esquerda
"qtde" como um valor numérico de 10 dígitos, alinhado à direita
"ativo" representando apenas os valores 'SIM' e 'NÃO'
Podemos escrever a sequinte query:
Se fosse em Oracle, usando o SQL-PLUS, que fornece uma série de recursos como paginação e totalização, até seria um pouco mais fácil gerar um relatório. Porém, retornar o relatório diretamente do resultado de uma query, é bem mais trabalhoso.
O que você pode tentar é formatar a linha e retornar o texto em uma única coluna, com quebra de linha.
Supondo:
"controle" como um código numérico de 10 dígitos, alinhado à direita
"produto" como um nome de produto com até 100 caracteres, alinhado à esquerda
"qtde" como um valor numérico de 10 dígitos, alinhado à direita
"ativo" representando apenas os valores 'SIM' e 'NÃO'
Podemos escrever a sequinte query:
select
'Cód Produto Qtde Ativo'+chr(10)+
'---------- ---------------------------------------------------------------------------------------------------- ---------- -----' "Relatório"
from testoque limit 1
union all
select
lpad(est.controle,10)+' '+
rpad(est.produto,100)+' '+
lpad(est.qtde,10)+' '+
est.ativo+chr(10)+
'................................................................................................................................' Linha
from testoque est
where
est.ativo = ''SIM''
order by est.produto
GOSTEI 0