Recentemente precisei criar um relatório no iReport que seria impresso em uma folha de etiquetas.
Existe um campo na tabela que contém a quantidade de etiquetas que o usuário quer que seja impresso do item que ele buscou.
Precisei criar uma query para repetir a linha de acordo com o valor do campo de quantidade para enviar para o iReport apenas imprimir.
Tabela: etiquetas
Campos usados na etiqueta: descricao e preco_item
Query:
with rep as
(select level as rnk
from dual
connect by level <= (select max(qtd)
from etiquetas))
select v.descricao,
v.preco_item
from etiquetas v,
rep r
where r.rnk <=
v.qtd
order by
v.qtd, r.rnk;
É SIMPLES DE FAZER MAS TEM QUE TEM UMA TABELA QUE CHAMA T_VEZ QUE CONTÉM SOMENTE UM CAMPO NUMERO, QUE TEM NUMEROS DE 1 Á 200, ENTÃO PODE OBERSERVAR PELO SQL ABAIXO QUE É FEITA UMA PESQUISA NA TABELA T_VENDAS TEM UM CAMPO VENDAQUANTIDADE, QUE PODERIA SER QUANTAS FCHA VÃO SER IMPRESSAS,
ResponderExcluirA PESQUISA VERIFICA SE TEM VENDAS QUANTIDADES MAIOR OU IGUAL A NUMERO, EXEMPLO SE TIVE NO CAMPO VENDAS QUANTIDADES OP NUMERO TRES ENTÃO IRA REPITIR 3 LINHAS POR QUE NO CAMPO NUMERO DA TABELA VEZ TEM NUMERO UM (MENOR), DOIS (MENOR) E TRES (IGUAL).
SELECT * FROM T_VENDAS AS A, T_VEZ AS B WHERE A.VENDAQUANTIDADE >= B.NUMERO AND A.VENDANUMERO = ' + INTTOSTR(RESULTADO) + ' AND A.VENDAIMPRIMIR = "SIM" ORDER BY A.VENDAQUANTIDADE, A.PRODUTONUMERO