Recorrer los registros de una tabla y hacer comparaciones

07/02/2007 - 17:08 por Oscar | Informe spam
Que tal necesito hacer lo siguiente y no se como hacerlo, espero y
alguien me pueda ayudar un poco.

Tengo los siguientes datos de una tabla

rango_min rango_max valor_rango
0.0 0.801 0.89999998
0.81 0.8998 0.92000002
0.91 1.0 0.94
1.01 1.1 0.95999998
1.11 1.2 0.98000002
1.2 0.0 1.0

y necesito evaluar un valor que voy a pasar como parámetro ejemplo valor
parámetro=1.09

entonces necesito ir recorriendo cada registro y regresar el valor del
rango según donde haya entrado el parámetro, en este caso devolvería el
valor "0.95999998"

muchas gracias.

Preguntas similare

Leer las respuestas

#1 Maxi
07/02/2007 - 17:23 | Informe spam
Hola, podrias usar cursores para hacer esto, revisa en tus libros on line la
sentencia. Lo que no te recomiendo es el uso de ellos, es muy ineficiente
hacerlo, porque debes recorrer registros de una tabla y sacar valores con
una expresion? donde pasaras esos valores luego?


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Oscar" escribió en el mensaje
news:egLo$
Que tal necesito hacer lo siguiente y no se como hacerlo, espero y alguien
me pueda ayudar un poco.

Tengo los siguientes datos de una tabla

rango_min rango_max valor_rango
0.0 0.801 0.89999998
0.81 0.8998 0.92000002
0.91 1.0 0.94
1.01 1.1 0.95999998
1.11 1.2 0.98000002
1.2 0.0 1.0

y necesito evaluar un valor que voy a pasar como parámetro ejemplo valor
parámetro=1.09

entonces necesito ir recorriendo cada registro y regresar el valor del
rango según donde haya entrado el parámetro, en este caso devolvería el
valor "0.95999998"

muchas gracias.
Respuesta Responder a este mensaje
#2 Oscar
07/02/2007 - 17:59 | Informe spam
Maxi escribió:
Hola, podrias usar cursores para hacer esto, revisa en tus libros on line la
sentencia. Lo que no te recomiendo es el uso de ellos, es muy ineficiente
hacerlo, porque debes recorrer registros de una tabla y sacar valores con
una expresion? donde pasaras esos valores luego?




Ok. Muchas gracias revisaré mis libros on line.

El hacer esto mediante SQL sería solo para dejar un poco la programación
del lado de SQL y no del lado de la aplicación pero si comentas que esto
es algo ineficiente entonces creo que lo mejor es hacer esto en la
aplicación.

Muchas gracias.
Respuesta Responder a este mensaje
#3 Maxi
07/02/2007 - 18:11 | Informe spam
Claro, lo mejor es ver si este tipo de cosas lo puedes hacer en la
aplicacion ya que los cursores no son una buena tecnica. Lamentablemente no
nos cuentas el problema a resolver sino una forma que has encontrado y
trabado, quizas no sea necesario usar cursores y se puede hacer desde
SQLServer sin problemas obteniendo una buena performance


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Oscar" escribió en el mensaje
news:%23%
Maxi escribió:
Hola, podrias usar cursores para hacer esto, revisa en tus libros on line
la sentencia. Lo que no te recomiendo es el uso de ellos, es muy
ineficiente hacerlo, porque debes recorrer registros de una tabla y sacar
valores con una expresion? donde pasaras esos valores luego?




Ok. Muchas gracias revisaré mis libros on line.

El hacer esto mediante SQL sería solo para dejar un poco la programación
del lado de SQL y no del lado de la aplicación pero si comentas que esto
es algo ineficiente entonces creo que lo mejor es hacer esto en la
aplicación.

Muchas gracias.

Respuesta Responder a este mensaje
#4 Alfredo Novoa
07/02/2007 - 18:24 | Informe spam
Hola Maxi,

On Wed, 7 Feb 2007 14:11:02 -0300, "Maxi"
wrote:

Claro, lo mejor es ver si este tipo de cosas lo puedes hacer en la
aplicacion ya que los cursores no son una buena tecnica. Lamentablemente no
nos cuentas el problema a resolver sino una forma que has encontrado y
trabado, quizas no sea necesario usar cursores y se puede hacer desde
SQLServer sin problemas obteniendo una buena performance



Por lo que explica parece que se puede resolver con una consulta muy
sencilla.

select valor_rango from tabla where :valor >= rango_min and :valor <rango_max


Saludos
Respuesta Responder a este mensaje
#5 Oscar
07/02/2007 - 19:53 | Informe spam
Alfredo Novoa escribió:
Hola Maxi,

On Wed, 7 Feb 2007 14:11:02 -0300, "Maxi"
wrote:

Claro, lo mejor es ver si este tipo de cosas lo puedes hacer en la
aplicacion ya que los cursores no son una buena tecnica. Lamentablemente no
nos cuentas el problema a resolver sino una forma que has encontrado y
trabado, quizas no sea necesario usar cursores y se puede hacer desde
SQLServer sin problemas obteniendo una buena performance



Por lo que explica parece que se puede resolver con una consulta muy
sencilla.

select valor_rango from tabla where :valor >= rango_min and :valor <> rango_max


Saludos



Que tal, pues efectivamente si es una consulta muy sencilla, el detalle
es recorrer cada uno de los registros para ver dentro de cual rango
entra el valor que paso como parámetro y regresar el valor del rango en
el que entro.

Saludos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida