Obtener id del primer registro

11/05/2005 - 17:36 por Javier Mejia | Informe spam
Tengo una cosulta que me devuelve un resultado como este:

id_pedazo longitud alto
12 4 4
11 3 3
13 2 2

Como puedo hacer para obtener solo el id_pedazo que me aparece primero, ya
tiene un order por los otros dos campos, es decir necesito el que tiene la
longitud y el alto mayor, en este caso (12)

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
11/05/2005 - 18:02 | Informe spam
Trata,

select top 1 with ties id_pedazo
from tabla1
order by longitud desc, alto desc


AMB

"Javier Mejia" wrote:

Tengo una cosulta que me devuelve un resultado como este:

id_pedazo longitud alto
12 4 4
11 3 3
13 2 2

Como puedo hacer para obtener solo el id_pedazo que me aparece primero, ya
tiene un order por los otros dos campos, es decir necesito el que tiene la
longitud y el alto mayor, en este caso (12)



Respuesta Responder a este mensaje
#2 Salvador Ramos
11/05/2005 - 18:05 | Informe spam
Añade la cláusula TOP. En tu caso quedaría:
SELECT TOP 1 ... (aquí el resto de tu SELECT)

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Javier Mejia" escribió en el mensaje
news:%231mqE%
Tengo una cosulta que me devuelve un resultado como este:

id_pedazo longitud alto
12 4 4
11 3 3
13 2 2

Como puedo hacer para obtener solo el id_pedazo que me aparece primero, ya
tiene un order por los otros dos campos, es decir necesito el que tiene la
longitud y el alto mayor, en este caso (12)


Respuesta Responder a este mensaje
#3 Javier Mejia
11/05/2005 - 18:08 | Informe spam
Hola de nuevo ya pude solucionar la situacion, lo hice de esta manera
SELECT TOP 1 id_pedazo
FROM dbo.qry_ordenar_pedacera_vidrio
WHERE (id_material = 493) AND (utilizado = 0)

con 'TOP #' le digo cuantos registros quiero de vuelta.

Gracias de todos modos.

"Javier Mejia" escribió en el mensaje
news:#1mqE#
Tengo una cosulta que me devuelve un resultado como este:

id_pedazo longitud alto
12 4 4
11 3 3
13 2 2

Como puedo hacer para obtener solo el id_pedazo que me aparece primero, ya
tiene un order por los otros dos campos, es decir necesito el que tiene la
longitud y el alto mayor, en este caso (12)


Respuesta Responder a este mensaje
#4 Alejandro Mesa
11/05/2005 - 18:28 | Informe spam
Javier,

Me inmagino que el objeto dbo.qry_ordenar_pedacera_vidrio sea una vista que
creastes?. Si es asi, entonces la solucion que planteastes no es correcta,
pues hacer el select sobre la vista sin usar la clausula ORDER BY no te
garantiza que las filas del resultado esten ordenadas. Deberias hacer algo
asi como:

SELECT TOP 1 id_pedazo
FROM dbo.qry_ordenar_pedacera_vidrio
WHERE (id_material = 493) AND (utilizado = 0)
order by longitud desc, alto desc

Si mas de un id_pedazo comparte los valores maximos de longitud y alto,
puedes usar el modificador WITH TIES para seleccionar todas las filas que
cumplen lo indicado.


AMB


"Javier Mejia" wrote:

Hola de nuevo ya pude solucionar la situacion, lo hice de esta manera
SELECT TOP 1 id_pedazo
FROM dbo.qry_ordenar_pedacera_vidrio
WHERE (id_material = 493) AND (utilizado = 0)

con 'TOP #' le digo cuantos registros quiero de vuelta.

Gracias de todos modos.

"Javier Mejia" escribió en el mensaje
news:#1mqE#
> Tengo una cosulta que me devuelve un resultado como este:
>
> id_pedazo longitud alto
> 12 4 4
> 11 3 3
> 13 2 2
>
> Como puedo hacer para obtener solo el id_pedazo que me aparece primero, ya
> tiene un order por los otros dos campos, es decir necesito el que tiene la
> longitud y el alto mayor, en este caso (12)
>
>



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