Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Obtener el numero de fila en el que se encuentra un dato(

Estas en el tema de Obtener el numero de fila en el que se encuentra un dato( en el foro de Oracle en Foros del Web. Bueno espero que me puedan ayudar con esto tengo una tabla llamada cliente donde la clave primaria(id) es una cadena de caracteres lo que necesito ...
  #1 (permalink)  
Antiguo 28/02/2015, 00:50
 
Fecha de Ingreso: febrero-2015
Mensajes: 2
Antigüedad: 7 años, 4 meses
Puntos: 0
Obtener el numero de fila en el que se encuentra un dato(

Bueno espero que me puedan ayudar con esto tengo una tabla llamada cliente donde la clave primaria(id) es una cadena de caracteres lo que necesito es que mediante el ingreso de un id digamos 'MN-0012' pueda obtener el numero de fila en el que esta dicho dato, asi por ejemplo:

id
---
MN-0005
MN-0019
MN-0016
MN-0012

el numero de fila en el que esta MN-0012 es 4, espero haberme expresado de forma clara. Se los agradeceré de antemano.
NOTA: Uso Oracle Database 11g Express Edition
  #2 (permalink)  
Antiguo 28/02/2015, 07:44
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 7 años, 8 meses
Puntos: 1
Respuesta: Obtener el numero de fila en el que se encuentra un dato(

Hola,

Puedes utilizar ROWNUM

Código SQL:
Ver original
  1. SELECT rownum, id FROM cliente

Saludos,
  #3 (permalink)  
Antiguo 28/02/2015, 08:31
 
Fecha de Ingreso: febrero-2015
Mensajes: 2
Antigüedad: 7 años, 4 meses
Puntos: 0
Respuesta: Obtener el numero de fila en el que se encuentra un dato(

Cita:
Iniciado por eduar2083 Ver Mensaje
Hola,

Puedes utilizar ROWNUM

Código SQL:
Ver original
  1. SELECT rownum, id FROM cliente

Saludos,
Gracias por responder pero no es lo que estoy buscando creo que no me explique bien lo que necesito es obtener el numero de fila y a la ves almacenarla en un variable con rownum me devuelve múltiples valores pero no necesariamente es el numero de la fila del dato por que al intentar hacer esta consulta

select rownum from cliente where id = 'MN-0012' ;

el rownum me devuelve = 1 no la posicion 4 como en el ejemplo anterior
  #4 (permalink)  
Antiguo 02/03/2015, 18:17
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 7 años, 8 meses
Puntos: 1
Respuesta: Obtener el numero de fila en el que se encuentra un dato(

Hola, Puedes utilizar una subconsulta:

Código SQL:
Ver original
  1. SELECT A.RowNumber, A.Id FROM (
  2.    SELECT
  3.       rownum RowNumber,
  4.       Id
  5.    FROM cliente
  6. ) A
  7. WHERE A.Id= 'MN-0012';

Saludos.
  #5 (permalink)  
Antiguo 03/03/2015, 07:56
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 13 años, 4 meses
Puntos: 360
Respuesta: Obtener el numero de fila en el que se encuentra un dato(

Yo realmente no estoy deacuerdo con este planteamiento. No por la respuesta que da eduardo2083, sino porque veo que perrodri tiene una concepción de Oracle como si se tratara de una hoja de excel.

El orden en oracle, es un tema que lo puedes hacer con un campo especifico y con la clausula ORDER BY, pero eso no signfica que en disco ni en uyn ordenamiento estandar sea de esta forma.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 03/03/2015, 09:42
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 7 años, 8 meses
Puntos: 1
Respuesta: Obtener el numero de fila en el que se encuentra un dato(

Hola,
huesos52 está en lo correcto, no hay garantía de que las tuplas sean recuperadas exactamente en el orden en que fueron insertadas.

Saludos.

Etiquetas: 11g, encuentra, fila, numero, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:55.