Obtener el primer registro de una consulta sin utilizar TOP

10/07/2004 - 17:22 por Raul Romero | Informe spam
Buenos dias ...

Por favor alguien me puede indicar si se puede obtener solo el primer
registro de una consulta sin utilizar la sentencia Top.

Ej.

select top 1 * from employees
order by hiredate

Me devuelve el registro ...

3, Leverling, Janets, Sales Representative, Ms., ...

Quisiera una consulta estandard para que me funcione para SQL, Access
y Oracle sin tener que realizar modificaciones a dicha consulta.

Muchas gracias por su ayuda.

Raul.

Preguntas similare

Leer las respuestas

#1 MAXI
10/07/2004 - 17:38 | Informe spam
Hola, pero el uso del TOP te deberia funcionar en Access, Oracle y SQL, es
mas me parece que otra opcion no vas a tener che, por lo menos de forma
totalmente compatible.

Vos lo probaste en Access y Oracle? porque ami ese codigo me funciona en
todo che :-)




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Raul Romero" escribió en el mensaje
news:
Buenos dias ...

Por favor alguien me puede indicar si se puede obtener solo el primer
registro de una consulta sin utilizar la sentencia Top.

Ej.

select top 1 * from employees
order by hiredate

Me devuelve el registro ...

3, Leverling, Janets, Sales Representative, Ms., ...

Quisiera una consulta estandard para que me funcione para SQL, Access
y Oracle sin tener que realizar modificaciones a dicha consulta.

Muchas gracias por su ayuda.

Raul.


Respuesta Responder a este mensaje
#2 Javier Loria
10/07/2004 - 18:35 | Informe spam
Hola Raul:
No existe en SQL un concepto de numero de fila, por lo que no hay una
sintaxis para lo que deseas. Eventualmente algo como:
SELECT E1.EmpleadoPK
, COUNT(*)
FROM Empleados AS E1
JOIN Empleados AS E2
ON E1.PKâ.PK
GROUP BY E1.EmpleadoPK
En conjuntos grandes de datos es lento.
Yo recomiendo no usarlo y aceptar que los conjuntos no son numerados.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda..

Raul Romero escribio:
Buenos dias ...

Por favor alguien me puede indicar si se puede obtener solo el primer
registro de una consulta sin utilizar la sentencia Top.

Ej.

select top 1 * from employees
order by hiredate

Me devuelve el registro ...

3, Leverling, Janets, Sales Representative, Ms., ...

Quisiera una consulta estandard para que me funcione para SQL, Access
y Oracle sin tener que realizar modificaciones a dicha consulta.

Muchas gracias por su ayuda.

Raul.
Respuesta Responder a este mensaje
#3 Hector Santibañez[Hadraker]
12/07/2004 - 17:46 | Informe spam
Hola,.

Usa el
"set rowcount" y ponele un uno al final y te devolvera el
primero registro dependiendo obviamente del orden que le
des, ej.
suponte que esta tabla tiene 10 reg.

Select * From tbl_hadraker
te devolvera los 10
set rowcount 1

Select * From tbl_hadraker

te devolvera solo uno
y si le das

set rowcount 0

te lo deja que muestre todo

Saludos




Hola, pero el uso del TOP te deberia funcionar en Access,


Oracle y SQL, es
mas me parece que otra opcion no vas a tener che, por lo


menos de forma
totalmente compatible.

Vos lo probaste en Access y Oracle? porque ami ese


codigo me funciona en
todo che :-)




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Raul Romero" escribió en el


mensaje
news:
Buenos dias ...

Por favor alguien me puede indicar si se puede obtener




solo el primer
registro de una consulta sin utilizar la sentencia Top.

Ej.

select top 1 * from employees
order by hiredate

Me devuelve el registro ...

3, Leverling, Janets, Sales Representative, Ms., ...

Quisiera una consulta estandard para que me funcione




para SQL, Access
y Oracle sin tener que realizar modificaciones a dicha




consulta.

Muchas gracias por su ayuda.

Raul.






.

Respuesta Responder a este mensaje
#4 Maxi
12/07/2004 - 17:53 | Informe spam
hmmm, esa opcion no es recomendada, mira lo que dicen los mismos libros de
MS ;-)

Observaciones
Es recomendable que las instrucciones DELETE, INSERT y UPDATE que
actualmente utilizan SET ROWCOUNT se vuelvan a escribir con la sintaxis TOP



Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Hector Santibañez[Hadraker]" escribió en el
mensaje news:2aa3401c46827$737e5950$
Hola,.

Usa el
"set rowcount" y ponele un uno al final y te devolvera el
primero registro dependiendo obviamente del orden que le
des, ej.
suponte que esta tabla tiene 10 reg.

Select * From tbl_hadraker
te devolvera los 10
set rowcount 1

Select * From tbl_hadraker

te devolvera solo uno
y si le das

set rowcount 0

te lo deja que muestre todo

Saludos




Hola, pero el uso del TOP te deberia funcionar en Access,


Oracle y SQL, es
mas me parece que otra opcion no vas a tener che, por lo


menos de forma
totalmente compatible.

Vos lo probaste en Access y Oracle? porque ami ese


codigo me funciona en
todo che :-)




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"Raul Romero" escribió en el


mensaje
news:
Buenos dias ...

Por favor alguien me puede indicar si se puede obtener




solo el primer
registro de una consulta sin utilizar la sentencia Top.

Ej.

select top 1 * from employees
order by hiredate

Me devuelve el registro ...

3, Leverling, Janets, Sales Representative, Ms., ...

Quisiera una consulta estandard para que me funcione




para SQL, Access
y Oracle sin tener que realizar modificaciones a dicha




consulta.

Muchas gracias por su ayuda.

Raul.






.






Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.714 / Virus Database: 470 - Release Date: 02/07/2004
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida