consulta sql para impressao de relatorio com linha pontilhada abaixo de cada produto

SQL

MariaDB

19/08/2025

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

Curtidas 0

Respostas

Arthur Heinrich

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:

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
POSTAR