Consulta SQL

10/11/2006 - 17:54 por anonimo | Informe spam
que tal?...espero puedan darme una mano con esto.
Tengo una tabla "prueba_mayor":
codigo categoria numero
1 2 2
2 1 1
3 2 4
4 3 3
5 2 7
6 1 5
7 2 3
8 4 7

Quiero seleccionar el codigo, categoria y numero en donde la categoria sea 2
y el numero sea el mayor.
En este caso: codigo=5 categoria=2 y numero=7

Estuve tratando con estopero me devuelve todas las de categoria 2:

select *
from prueba_mayor
where not exists (
select *
from prueba_mayor as t2
where t2.codigo = prueba_mayor.codigo and prueba_mayor.numero > t2.numero
)
and categoria=2


Gracias
 

Leer las respuestas

#1 Alejandro Mesa
10/11/2006 - 19:35 | Informe spam
Trata:

select *
from dbo.t1 as a
where categoria = 2
and numero = (select max(b.numero) from dbo.t1 as b where b.categoria = 2)
go


AMB

"anonimo" wrote:

que tal?...espero puedan darme una mano con esto.
Tengo una tabla "prueba_mayor":
codigo categoria numero
1 2 2
2 1 1
3 2 4
4 3 3
5 2 7
6 1 5
7 2 3
8 4 7

Quiero seleccionar el codigo, categoria y numero en donde la categoria sea 2
y el numero sea el mayor.
En este caso: codigo=5 categoria=2 y numero=7

Estuve tratando con estopero me devuelve todas las de categoria 2:

select *
from prueba_mayor
where not exists (
select *
from prueba_mayor as t2
where t2.codigo = prueba_mayor.codigo and prueba_mayor.numero > t2.numero
)
and categoria=2


Gracias

Preguntas similares