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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 BitOne
12/11/2006 - 15:46 | Informe spam
Hola Anonimo:

Intenta:

select a.*
from prueba_mayor a
inner join
(select max(numero) numero,
categoria
from prueba_mayor a
group by categoria ) b
on a.categoria = 2
and a.numero = b.numero
and a.categoria = b.categoria
go

Saludos,

BitOne
"anonimo" wrote in message
news:
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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida