Obtener el primer registro!

28/12/2004 - 15:07 por Gustavo Arriola | Informe spam
Hola a Tod@s!!

¿Cómo puedo hacer para obtener el primer registro de una tabla?

He intentado con esto pero siempre me devuelve el último id

SELECT @iActual_ID = id_solicitud_servicio,
@nro_sspp = nro_sspp
FROM solicitudes_servicios
WHERE id_activador_cabecera01

También he probado con esto pero me salta un error:
SELECT @iActual_ID = MIN(id_solicitud_servicio),
@nro_sspp = nro_sspp
FROM solicitudes_servicios
WHERE id_activador_cabecera01

La columna 'solicitudes_servicios.nro_sspp' de la lista de selección no es
válida, porque no está contenida en una función de agregado y no hay
cláusula GROUP BY.

Desde ya muchas gracias!
Gustavo

Preguntas similare

Leer las respuestas

#1 Maxi
28/12/2004 - 14:11 | Informe spam
Hola, y como definis al primer registro?


Salu2
Maxi


"Gustavo Arriola" escribió en el mensaje
news:
Hola a !!

¿Cómo puedo hacer para obtener el primer registro de una tabla?

He intentado con esto pero siempre me devuelve el último id

SELECT @iActual_ID = id_solicitud_servicio,
@nro_sspp = nro_sspp
FROM solicitudes_servicios
WHERE id_activador_cabecera01

También he probado con esto pero me salta un error:
SELECT @iActual_ID = MIN(id_solicitud_servicio),
@nro_sspp = nro_sspp
FROM solicitudes_servicios
WHERE id_activador_cabecera01

La columna 'solicitudes_servicios.nro_sspp' de la lista de selección no es
válida, porque no está contenida en una función de agregado y no hay
cláusula GROUP BY.

Desde ya muchas gracias!
Gustavo



Respuesta Responder a este mensaje
#2 Maxi
28/12/2004 - 14:54 | Informe spam
Hola, no aun, supongamos que tenemos esto

nombre direccion
Maxi Argentina
Jose Brasil

Cual es el primer registro aca y porque?


Salu2
Maxi


"Gustavo Arriola" escribió en el mensaje
news:%
Hola, muchas gracias por responder!

Sería el primer regitro de una consulta parametrizada
¿Responde eso a la pregunta?

Saludos!
Gustavo


Respuesta Responder a este mensaje
#3 Carlos Sacristán
28/12/2004 - 15:31 | Informe spam
Gustavo, Maxi hace referencia a que los datos de las tablas son
conjuntos de resultados y, por definición, sin un orden preestablecido. Por
tanto, cuando hablas en términos de "primero" o "último" es siempre en
referencia a un orden que debes establecer tú.

Tú por ejemplo estás estableciendo un orden temporal en ese conjunto y
por eso dices que "Maxi - Argentina" es el primero. Sin embargo, si lo
ordenas por el nombre, entonces se convierte en el último.

A lo que queremos llegar es que necesitas establecer el orden en tu
tabla para saber cuál es el primero y cuál el último, y creo recordar que
para tí ese orden está establecido a partir de su id. Más concretamente, la
sentencia correcta sería:

SELECT TOP 1 @iActual_ID = id_solicitud_servicio, @nro_sspp = nro_sspp
FROM solicitudes_servicios
WHERE id_activador_cabecera01
ORDER BY id_solicitud_servicio


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Gustavo Arriola" escribió en el mensaje
news:
Hola otra vez!

Para mi --> Maxi - Argentina, porque fue el que se cargó antes que Jose -
Brasil
Es decir, Maxi tendrá un ID menor que el de José (no estoy teniendo en
cuenta la clausula ORDER BY)

¿Voy bien hasta aquí?

Gracias otra vez por responder!
Gustavo


Respuesta Responder a este mensaje
#4 Gustavo Arriola
28/12/2004 - 15:41 | Informe spam
Hola, muchas gracias por responder!

Sería el primer regitro de una consulta parametrizada
¿Responde eso a la pregunta?

Saludos!
Gustavo
Respuesta Responder a este mensaje
#5 Maxi
28/12/2004 - 15:45 | Informe spam
Hola, pues Carlos me gano de mano, pero a lo que yo queria llegar es
justamente a eso :) por eso puse un ejemplo medio tramposo para ver como
definias el primer y el segundo registro. En tu caso como tienes un ID lo
estas ordenando por ello y esta bien, pero que pasaria si no tuvieras el ID,
como en el ej? pues aca seria casi imposible ordenalos con una query simple,
deberias minimamente armar una tabla temporal.

Un abrazo


Salu2
Maxi


"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:OdHr%
Gustavo, Maxi hace referencia a que los datos de las tablas son
conjuntos de resultados y, por definición, sin un orden preestablecido.
Por
tanto, cuando hablas en términos de "primero" o "último" es siempre en
referencia a un orden que debes establecer tú.

Tú por ejemplo estás estableciendo un orden temporal en ese conjunto y
por eso dices que "Maxi - Argentina" es el primero. Sin embargo, si lo
ordenas por el nombre, entonces se convierte en el último.

A lo que queremos llegar es que necesitas establecer el orden en tu
tabla para saber cuál es el primero y cuál el último, y creo recordar que
para tí ese orden está establecido a partir de su id. Más concretamente,
la
sentencia correcta sería:

SELECT TOP 1 @iActual_ID = id_solicitud_servicio, @nro_sspp = nro_sspp
FROM solicitudes_servicios
WHERE id_activador_cabecera01
ORDER BY id_solicitud_servicio


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Gustavo Arriola" escribió en el mensaje
news:
Hola otra vez!

Para mi --> Maxi - Argentina, porque fue el que se cargó antes que Jose -
Brasil
Es decir, Maxi tendrá un ID menor que el de José (no estoy teniendo en
cuenta la clausula ORDER BY)

¿Voy bien hasta aquí?

Gracias otra vez por responder!
Gustavo






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida