Ayuda en consulta

20/07/2005 - 00:54 por SantaFe | Informe spam
Hola, alguien podria decirme como hacer la consulta para seleccionar
solamente el ultimo proyecto (PRO) de cada CDGCL:

La tabla es la siguiente:
select *
from pi

CDGCL PRO NOMBRE ACTUALIZA
10013 001 VENTA DE ABARROTES 13/06/03
10013 002 VENTA DE JUGUETE 22/10/03
10013 003 CERAMICA 12/02/04
10013 004 VENTA DE ZAPATO 08/07/04
39616 001 VENTA DE MERCERIA 21/05/99
39616 002 VENTA DE COSMETICOS 23/06/00
39616 003 VENTA DE LENCERIA 13/10/00
39616 004 VENTA DE LENCERIA 07/03/01
25002 001 COMERCIO 16/03/99
25002 002 VENTA DE ZAPATOS 25/08/99
25002 003 CRIA DE ANIMALES 17/04/00
25002 004 CRIA DE ANIMALES 15/08/01
25002 005 CRIA DE ANIMALES 28/11/01
13 filas seleccionadas.


He intentado varias formas (sin necesidad de crear tablas, vistas o
cursores intermedias) pero no me sale :

select P.*
from pi as P, (
select cdgcl, max(proyecto)
from pi
group by cdgcl
) as U
and P.cdgcl = U.cdgcl !no funciona!


Es decir quisiera saber como elaboro la consulta en SQL estandar para que
me reporte lo siguiente:

CDGCL PRO NOMBRE ACTUALIZA
10013 004 VENTA DE ZAPATO 08/07/04
39616 004 VENTA DE LENCERIA 07/03/01
25002 005 CRIA DE ANIMALES 28/11/01
3 filas seleccionadas.

Preguntas similare

Leer las respuestas

#1 Eleazar
20/07/2005 - 01:20 | Informe spam
Hola
pruebalo asi
Select *
From pi a1
Where a1.ACTUALIZA = (Select MAx(ACTUALIZA)
From pi a2
Where a2.CDGCL = a1.CDGCL)

"SantaFe" escribió en el mensaje
news:
Hola, alguien podria decirme como hacer la consulta para seleccionar
solamente el ultimo proyecto (PRO) de cada CDGCL:

La tabla es la siguiente:
select *
from pi

CDGCL PRO NOMBRE ACTUALIZA
10013 001 VENTA DE ABARROTES 13/06/03
10013 002 VENTA DE JUGUETE 22/10/03
10013 003 CERAMICA 12/02/04
10013 004 VENTA DE ZAPATO 08/07/04
39616 001 VENTA DE MERCERIA 21/05/99
39616 002 VENTA DE COSMETICOS 23/06/00
39616 003 VENTA DE LENCERIA 13/10/00
39616 004 VENTA DE LENCERIA 07/03/01
25002 001 COMERCIO 16/03/99
25002 002 VENTA DE ZAPATOS 25/08/99
25002 003 CRIA DE ANIMALES 17/04/00
25002 004 CRIA DE ANIMALES 15/08/01
25002 005 CRIA DE ANIMALES 28/11/01
13 filas seleccionadas.


He intentado varias formas (sin necesidad de crear tablas, vistas o
cursores intermedias) pero no me sale :

select P.*
from pi as P, (
select cdgcl, max(proyecto)
from pi
group by cdgcl
) as U
and P.cdgcl = U.cdgcl !no funciona!


Es decir quisiera saber como elaboro la consulta en SQL estandar para que
me reporte lo siguiente:

CDGCL PRO NOMBRE ACTUALIZA
10013 004 VENTA DE ZAPATO 08/07/04
39616 004 VENTA DE LENCERIA 07/03/01
25002 005 CRIA DE ANIMALES 28/11/01
3 filas seleccionadas.


Respuesta Responder a este mensaje
#2 SantaFe
20/07/2005 - 02:38 | Informe spam
"Eleazar" wrote in news:OU8H3gLjFHA.3336
@tk2msftngp13.phx.gbl:

Select *
From pi a1
Where a1.ACTUALIZA = (Select MAx(ACTUALIZA)
From pi a2
Where a2.CDGCL = a1.CDGCL)




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