Fórum consulta sql para impressao de relatorio com linha pontilhada abaixo de cada produto #623808

19/08/2025

0

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
Cleimar Lemes

Cleimar Lemes

Responder

Posts

20/08/2025

Arthur Heinrich

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:

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

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar