Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/12/2010, 09:22
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Obtener primer elemento de una consulta

Buenos días amlegazpe, no entendí muy bien cuál es el problema que tienes con tu consulta, a ver si explicando cómo funciona la función TOP te queda un poco más claro. La función TOP regresa LOS PRIMEROS N REGISTROS que devuelva tu consulta, veamos si con un ejemplo se entiende

Código SQL:
Ver original
  1. --declaramos una tabla de ejemplo
  2. DECLARE @Tabla TABLE (id INT, descripcion VARCHAR(10))
  3. --insertamos registros de ejemplo
  4. INSERT INTO @Tabla VALUES (1, 'uno')
  5. INSERT INTO @Tabla VALUES (2, 'dos')
  6. INSERT INTO @Tabla VALUES (3, 'tres')
  7. INSERT INTO @Tabla VALUES (4, 'cuatro')
  8. INSERT INTO @Tabla VALUES (5, 'cinco')

Ahora bien, si hacemos una consulta como esta

Código SQL:
Ver original
  1. SELECT * FROM @Tabla WHERE id >= 3

El resultado sería

Código:
id|descripcion
------------------
3|tres
4|cuatro
5|cinco
hasta aquí creo que no hay problema, si ahora hacemos algo como esto

Código SQL:
Ver original
  1. SELECT top 1 * FROM @Tabla WHERE id >= 3

Lo primero que se ejecuta es la consulta de manera normal y sobre el resultado entonces MUESTRA SÓLO EL PRIMER REGISTRO de tal manera que la consulta mostraría lo siguiente:

Código:
id|descripcion
------------------
3|tres
Si continuas con problemas para aplicar la función top te pido que muestres algunos datos de tus tablas y nos expliques qué es lo que quieres de salida, para ver en qué podemos ayudarte.

Saludos
Leo