SQL - AYUDA CON EL SELECT MAX...

 
Vista:

AYUDA CON EL SELECT MAX...

Publicado por DERLIS (1 intervención) el 02/08/2005 14:58:20
HOLA A TODOS..
NECESITO AYUDITA CON UN SELECT PARA FILTRAR LOS ULTIMOS PAGOS DE UN CLIENTE.
USE EL SIGUIENTE SELECT PERO NO TRAE EL ULTIMO PAGO SINO VARIOS PAGOS DE UN CLIENTE O CONTRIBUYENTE..

begin
/* SP FILTRADO DE ULTIMO PAGO DEL CONTRIBUYENTE(NROPADRON)*/

FOR SELECT MAX (FECHAPAGO), PADRONNRO, ANO, NOMBAPE, NRORECIBO, TIPO, IMPUESTO, TASAS, BALDIO, MULTA, OTROS, ANODESDE, ANOHASTA, IMPTOTAL, USUARIO, HECTAREAS, M2
FROM CATASTRO
WHERE PADRONNRO >= :nropadroninicial
AND PADRONNRO <= :nropadronfinal
AND FECHAPAGO >= :fechapagoinicial
AND FECHAPAGO <= :fechapagofinal

group by FECHAPAGO, PADRONNRO, ANO, NOMBAPE, NRORECIBO, TIPO, IMPUESTO, TASAS, BALDIO, MULTA, OTROS, ANODESDE, ANOHASTA, IMPTOTAL, USUARIO, HECTAREAS, M2

INTO :fechapago, :padronnro, :ano, :nombape, :nrorecibo, :tipo, :impuesto, :tasas,
:baldio, :multa, :otros, :anodesde, :anohasta, :imptotal, :usuario, :hectareas, :m2
DO
suspend;
end

ESPERO AYUDA AMIGOS...
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
sin imagen de perfil

RE:AYUDA CON EL SELECT MAX...

Publicado por Liliana (426 intervenciones) el 02/08/2005 15:38:45
Hola,
Te serviría una ayuda con la sintaxis de MS SQL Server?
A lo mejor puede orientarte...

create table #test
(fechapago datetime, padronnro smallint, ano smallint, nombape char(15), importe dec(10,2))
insert #test select '20010101', 1, 2001, 'contrib 1', 10
insert #test select '20020101', 1, 2002, 'contrib 1', 11
insert #test select '20040101', 2, 2004, 'contrib 2', 27
insert #test select '20050101', 2, 2005, 'contrib 2', 23

/* SP FILTRADO DE ULTIMO PAGO DEL CONTRIBUYENTE(NROPADRON)*/

SELECT t.FechaPago, t.PadronNro, Ano, Nombape, Importe
FROM
-- selecciona máxima fecha de pago para cada cuenta dentro de los rangos pedidos
(SELECT FechaPago = MAX (FECHAPAGO), PADRONNRO
FROM #test
WHERE PADRONNRO >= :nropadroninicial
AND PADRONNRO <= :nropadronfinal
AND FECHAPAGO >= :fechapagoinicial
AND FECHAPAGO <= :fechapagofinal
GROUP BY PadronNro) m
-- esa subconsulta la relaciona con la tabla real para tomar el resto de los datos
INNER JOIN #test t
ON t.FechaPago = m.FechaPago AND t.PadronNro = m.PadronNro

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