[OT].

09/10/2003 - 18:51 por Carlos | Informe spam
Hola a todos y gracias de antemano !!

Tengo un problema con una consulta y no ser como resolverlo.

Necesito recuperar un numero de registro concretos en Oracle ordenados
por dos campos.

Cuando uso la sentencia where rownum < X de Oracle para que me devuelva
un número determinado de registros, no hace caso al order by que tengo en la
consulta. Devuelve los registros sin ordenar. En Sql utilizo 'Top' X para
que me devuelva X registro y si no recuerdo mal se podían ordenar con el
order by. Pero en Oracle no consigo hacerlo.

Si alguien supiera como hacerlo le estaría muy agradecido!!.

Un saludo a todos, Carlos

Preguntas similare

Leer las respuestas

#1 Salvador Ramos
09/10/2003 - 19:09 | Informe spam
Si no recuerdo mal, en Oracle si los quieres ordenados, no te vale esa
solución, ya que primero obtiene los registros que le has indicado y luego
los ordena (pero ordena sólo esos). Creo que eso es lo que te está
ocurriendo.

Un saludo
Salvador Ramos
Murcia - España

No puedes conseguir software rápidamente disminuyendo su calidad.
En cambio, si que lo consigues aumentando la calidad.

www.helpdna.net (información sobre Windows DNA, SQL Server, .NET, ...)


Microsoft MVP SQL Server
MCP SQL Server
PASS Spanish Group (www.sqlpass.org)

"Carlos" escribió en el mensaje
news:
Hola a todos y gracias de antemano !!

Tengo un problema con una consulta y no ser como resolverlo.

Necesito recuperar un numero de registro concretos en Oracle ordenados
por dos campos.

Cuando uso la sentencia where rownum < X de Oracle para que me


devuelva
un número determinado de registros, no hace caso al order by que tengo en


la
consulta. Devuelve los registros sin ordenar. En Sql utilizo 'Top' X para
que me devuelva X registro y si no recuerdo mal se podían ordenar con el
order by. Pero en Oracle no consigo hacerlo.

Si alguien supiera como hacerlo le estaría muy agradecido!!.

Un saludo a todos, Carlos


Respuesta Responder a este mensaje
#2 Carlos
09/10/2003 - 20:21 | Informe spam
Gracias por tu respuesta !!
Eso es lo que me imaginaba, y hay alguna solución . ??


"Salvador Ramos" escribió en el
mensaje news:
Si no recuerdo mal, en Oracle si los quieres ordenados, no te vale esa
solución, ya que primero obtiene los registros que le has indicado y luego
los ordena (pero ordena sólo esos). Creo que eso es lo que te está
ocurriendo.

Un saludo
Salvador Ramos
Murcia - España

No puedes conseguir software rápidamente disminuyendo su calidad.
En cambio, si que lo consigues aumentando la calidad.

www.helpdna.net (información sobre Windows DNA, SQL Server, .NET, ...)


Microsoft MVP SQL Server
MCP SQL Server
PASS Spanish Group (www.sqlpass.org)

"Carlos" escribió en el mensaje
news:
> Hola a todos y gracias de antemano !!
>
> Tengo un problema con una consulta y no ser como resolverlo.
>
> Necesito recuperar un numero de registro concretos en Oracle


ordenados
> por dos campos.
>
> Cuando uso la sentencia where rownum < X de Oracle para que me
devuelva
> un número determinado de registros, no hace caso al order by que tengo


en
la
> consulta. Devuelve los registros sin ordenar. En Sql utilizo 'Top' X


para
> que me devuelva X registro y si no recuerdo mal se podían ordenar con el
> order by. Pero en Oracle no consigo hacerlo.
>
> Si alguien supiera como hacerlo le estaría muy agradecido!!.
>
> Un saludo a todos, Carlos
>
>


Respuesta Responder a este mensaje
#3 Salvador Ramos
09/10/2003 - 21:08 | Informe spam
Bueno, a primera vista se me ocurre una, pero no es nada óptima en cuanto a
rendimiento:
Incluirlos todos en un cursor ordenados, y luego con un bucle leer sólo los
que necesites.

A ver si tengo un hueco, y busco alguna solución mejor :-(

Un saludo
Salvador Ramos
Murcia - España

No puedes conseguir software rápidamente disminuyendo su calidad.
En cambio, si que lo consigues aumentando la calidad.

www.helpdna.net (información sobre Windows DNA, SQL Server, VB, ...)


Microsoft MVP SQL Server
MCP SQL Server
PASS Spanish Group (www.sqlpass.org)


"Carlos" escribió en el mensaje
news:
Gracias por tu respuesta !!
Eso es lo que me imaginaba, y hay alguna solución . ??


"Salvador Ramos" escribió en el
mensaje news:
> Si no recuerdo mal, en Oracle si los quieres ordenados, no te vale esa
> solución, ya que primero obtiene los registros que le has indicado y


luego
> los ordena (pero ordena sólo esos). Creo que eso es lo que te está
> ocurriendo.
>
> Un saludo
> Salvador Ramos
> Murcia - España
>
> No puedes conseguir software rápidamente disminuyendo su calidad.
> En cambio, si que lo consigues aumentando la calidad.
>
> www.helpdna.net (información sobre Windows DNA, SQL Server, .NET, ...)
>
>
> Microsoft MVP SQL Server
> MCP SQL Server
> PASS Spanish Group (www.sqlpass.org)
>
> "Carlos" escribió en el mensaje
> news:
> > Hola a todos y gracias de antemano !!
> >
> > Tengo un problema con una consulta y no ser como resolverlo.
> >
> > Necesito recuperar un numero de registro concretos en Oracle
ordenados
> > por dos campos.
> >
> > Cuando uso la sentencia where rownum < X de Oracle para que me
> devuelva
> > un número determinado de registros, no hace caso al order by que tengo
en
> la
> > consulta. Devuelve los registros sin ordenar. En Sql utilizo 'Top' X
para
> > que me devuelva X registro y si no recuerdo mal se podían ordenar con


el
> > order by. Pero en Oracle no consigo hacerlo.
> >
> > Si alguien supiera como hacerlo le estaría muy agradecido!!.
> >
> > Un saludo a todos, Carlos
> >
> >
>
>


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