SQL Server - Ayuda con valor máximo

   
Vista:

Ayuda con valor máximo

Publicado por Victor (3 intervenciones) el 23/10/2015 20:11:32
Necesito ayuda para obtener el registro que tenga mayor valor en relacion a un campo determinado,
la tabla se compone de
CURP
CLAVE DE COBRO (cvec)
NIVEL DE PROGRAMA (nvlp)
AÑO

una CURP puede cobrar con varias CVEC y puede tener varios niveles NVLP pero cada NVLP lo obtuvo en un año en especifico,
necesito extrar el ultimo NVLP de cada CVEC de cada CURP
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Ayuda con valor máximo

Publicado por Isaias (3182 intervenciones) el 23/10/2015 20:22:38
¿En que motor de base de datos?, ¿Un ejemplo de tus datos?, ¿No te sirve la instrucción MAX(nvlp), agrupando por cvec y curp?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con valor máximo

Publicado por Victor (3 intervenciones) el 23/10/2015 20:41:02
Estoy trabajando en SQL Server

CURP, cvec, nvlp, AÑO
GUEP900415HMCCNSC09, E02810092, A, 1994
GUEP900415HMCCNSC09, E02810089, A, 1994
GUEP900415HMCCNSC09, E02810078, A, 1994
GUEP900415HMCCNSC09, E02810092, B, 1998
GUEP900415HMCCNSC09, E02810089, B, 1998
GUEP900415HMCCNSC09, E02810092, C, 2001
CUAG830910MMCCNSC09, I07210054, A, 1999
CUAG830910MMCCNSC09, I07210038, A, 2004
SALP760415HMCCNSC09, E08310194, A, 2001

Como puedes ver puede exitir una misma persona con varias CVEC y cada una tiene su NVLP en un año en especifico, la variaciones que pueden tener los NVLP son solo A,B,C,D y necesito saber cual es el ultimo que tiene registrado, en el caso de GUEP900415HMCCNSC09 tendria que obtener:

GUEP900415HMCCNSC09, E02810092, C, 2001
GUEP900415HMCCNSC09, E02810089, B, 1998
GUEP900415HMCCNSC09, E02810078, A, 1994
Por que son los últimos niveles de programa de insentivo que les corresponde a cada CVEC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Ayuda con valor máximo

Publicado por Isaias (3182 intervenciones) el 23/10/2015 21:22:41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
create table #prueba (curp varchar(50), cvec varchar(50), nvlp char(1), año int)
 
insert into #prueba values('GUEP900415HMCCNSC09','E02810092','A',1994)
insert into #prueba values('GUEP900415HMCCNSC09','E02810089','A',1994)
insert into #prueba values('GUEP900415HMCCNSC09','E02810078','A',1994)
insert into #prueba values('GUEP900415HMCCNSC09','E02810092','B',1998)
insert into #prueba values('GUEP900415HMCCNSC09','E02810089','B',1998)
insert into #prueba values('GUEP900415HMCCNSC09','E02810092','C',2001)
insert into #prueba values('CUAG830910MMCCNSC09','I07210054','A',1999)
insert into #prueba values('CUAG830910MMCCNSC09','I07210038','A',2004)
insert into #prueba values('SALP760415HMCCNSC09','E08310194','A',2001)
 
select
cvec,curp, MAX(nvlp)
from #prueba 
where curp = 'GUEP900415HMCCNSC09 '
group by cvec,curp

cvec curp (No column name)
E02810078 GUEP900415HMCCNSC09 A
E02810089 GUEP900415HMCCNSC09 B
E02810092 GUEP900415HMCCNSC09 C
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con valor máximo

Publicado por Victor (3 intervenciones) el 23/10/2015 21:39:21
La tabla ya existe y son alrededor de 180,000 registros los cuales corresponden solo a 5516 CURP´s habia pensando en un Store Procedure o un ciclo que evaluara y extrajera, pero no logro articularla de manera correcta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Ayuda con valor máximo

Publicado por Isaias (3182 intervenciones) el 23/10/2015 21:43:43
Se que tu tabla existe, solo hice una PRUEBA (TEST), con los registros que me enviaste, si lo aplicas a tu tabla y con los índices adecuadamente creados, debe darte el resultado esperado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar