Gerar um código a cada 12 registros

Dicas e truques sobre Oracle Reports Builder - modo gráfico ou modo caractere, ascii, arquivo .PRT, etc
Responder
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis

Bom Dia Pessoal
Estou com uma dúvida por aqui
Preciso gerar, um exemplo: Código

meu select

Selecionar tudo


select nr_pessoa,
       r.cd_sequencial ,
 trunc((rownum - 1)/12)+1 placa,
     ROW_NUMBER()
    OVER (PARTITION BY r.cd_setor 
     ORDER BY r.cd_setor) pos
from recebimento_pessoafisica
where r.cd_pessoajuridica = :P_cd_pessoajuridica
  and r.cd_setor = :P_cd_setor
  and r.dt_recebimento = :P_dt_inicial
  and r.cd_lote = :P_cd_lote
  and l.cd_servico = 50
  and l.nr_rece is null
  order by  r.cd_sequencial,pos,placa
preciso que a cada 12 linhas(registro), gere uma placa. POr exemplo

POS Placa
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
10 1
11 1
12 1
13 2
|
24 2 .
Não posso fazer pelo sequencial, porque tem alguns momentos, que o sequencial não vai aparecer.

OBrigada
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Não entendi completamente.
A cada 12 linhas é para alterar numeração?
Independente do "nr_pessoa" ou existe algum agrupamento especial??
O sequencial que você fala(que não pode usar) é o "cd_sequencial" e que informação esse campo contem?
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis

Noctifero,
consegui fazer.

Selecionar tudo

    trunc((ROW_NUMBER()
    OVER (PARTITION BY r.cd_setor 
     ORDER BY r.cd_setor) - 1)/12)+1 placa
agora, não importa a ordem do cd_sequencial
Que ele gera a cada 12 registros 1 placa.

Obrigada
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 20 visitantes