Oracle - colocar un numero consecutivo a cada registro de una consulta

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 13 puestos en Oracle (en relación al último mes)
Gráfica de Oracle

colocar un numero consecutivo a cada registro de una consulta

Publicado por DANIEL (1 intervención) el 25/10/2018 00:25:11
Tengo una consulta donde deseo colocarle un contador por registro pero aunque le coloque el distinct me sigue repitiendo el valor de LPN y lo que tambien tendria que hacer es reiniciar el contador cada que el numero de pedido cambia.

la consulta es
1
2
3
4
5
6
7
8
9
10
11
[select distinct iv.lodnum,
        pv.ordnum,
        rownum as registro
   from pckwrk_view pv
  inner
   join inventory_view iv
     on (iv.wrkref = pv.wrkref)
  where pv.schbat = '10068105'
  group by iv.lodnum,
        pv.ordnum,
        rownum]

Lo que devuelve

LPN Pedido ID
MJ00004750 0085032350 42
MJ00004359 0085032351 28
MJ00004779 0085032351 33
MJ00004779 0085032351 31
MJ00004779 0085032351 7
MJ00004779 0085032351 36
MJ00004779 0085032351 41
MJ00004779 0085032351 57
MJ00004779 0085032351 37
MJ00004779 0085032351 20
MJ00004779 0085032351 21
MS01629670 0085032351 40
MS01629672 0085032351 56
MJ00003286 0085032352 29
MJ00003286 0085032352 48
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 499
Oro
Ha mantenido su posición en Oracle (en relación al último mes)
Gráfica de Oracle

colocar un numero consecutivo a cada registro de una consulta

Publicado por Rafael (328 intervenciones) el 25/10/2018 14:53:44
Hola Daniel:

A ver una sugerencia ...
Para formular tu pregunta deberias usar los nombres de los campos y tablas .... no los conceptos que representan...
Mira:

"Tengo una consulta donde deseo colocarle un contador por registro pero aunque le coloque el distinct me sigue repitiendo el valor de LPN y lo que tambien tendria que hacer es reiniciar el contador cada que el numero de pedido cambia."

Si veo tu consulta NO se cual es el LPN ni el Numero de pedido...

Ahora bien viendo el resultado puedo jugar al adivino ....

Bueno el primer problema que tienes es usar un DISTINCT que incluye el rownum, ya que cada registro tiene un rownum distinto...

Otro problema es que pones un GROUP BY sin usar una funcion de agregacion ... es decir no sirve para nada...

Ahora insisto jugando al adivino voy a suponer que el Numero de Pedido es pv.ordnum
Y que el LPN es iv.lodnum

Dicho esto hay una posibilidad de que esto haga lo quieres:
1
2
3
4
5
6
7
8
9
10
11
select ordnum as Pedido
     , lodnum as LPN
     , ROW_NUMBER() OVER (PARTITION BY ordnum ORDER BY lodnum)
from (select distinct
             pv.ordnum
           , iv.lodnum
      from   pckwrk_view pv
             join inventory_view iv
               on iv.wrkref = pv.wrkref
      where  pv.schbat = '10068105')
order by  ordnum, lodnum
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar