SQL Server - AYUDA A ELABORACION DE QUERY completo

   
Vista:

AYUDA A ELABORACION DE QUERY completo

Publicado por carmen (3 intervenciones) el 08/07/2011 09:22:17
Buen dia y de antemano agradezco a quien me pueda ayudar con el siguiente problema
resulta que tengo una tabla de pagos y quiero sólo los registros que el estado se encuentre 'ven' de los ultimos 4 meses de manera consecutiva, es decir una cuenta este mes puede estar en VEN pero el mes anterior puede tener VEN y PAG, como puedo seleccionar esas cuentas que sólo tuvieron estado ven

La tabla se llama pago


Cuenta estado fecha tipo valor
1 ven 05/07/11 AA 1.50
1 ven 05/07/11 bb 2.00
1 ven 05/06/11 AA 1.50
1 ven 05/06/11 bb 2.00
1 ven 05/05/11 AA 1.50
1 ven 05/05/11 bb 2.00
2 ven 05/07/11 AA 2.50
2 ven 05/07/11 bb 2.00
2 pag 05/06/11 AA 2.50
2 pag 05/06/11 bb 2.00
3 pag 05/07/11 AA 2.50
3 pag 05/07/11 bb 2.00
3 pag 05/06/11 AA 2.50
3 pag 05/06/11 bb 2.00

Resultado

1 ven 05/07/11 AA 1.50
1 ven 05/07/11 bb 2.00
1 ven 05/06/11 AA 1.50
1 ven 05/06/11 bb 2.00
1 ven 05/05/11 AA 1.50
1 ven 05/05/11 bb 2.00


Nuevamente muchas gracias
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 A ELABORACION DE QUERY completo

Publicado por Isaias (3180 intervenciones) el 08/07/2011 19:30:13
¿Edicion-Version de tu SQL Server?
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 A ELABORACION DE QUERY completo

Publicado por Isaias (3180 intervenciones) el 08/07/2011 19:36:38
Te pongo un ejemplo para 2005

Create table Cuentas (cuenta int, estado char(3), fecha char(8), tipo char(2), importe money)


Cuenta estado fecha tipo valor
insert into cuentas values(1,'ven','05/07/11','AA', 1.50)
insert into cuentas values(1,'ven','05/07/11','bb', 2.00)
insert into cuentas values(1,'ven','05/06/11','AA', 1.50)
insert into cuentas values(1,'ven','05/06/11','bb', 2.00)
insert into cuentas values(1,'ven','05/05/11','AA', 1.50)
insert into cuentas values(1,'ven','05/05/11','bb', 2.00)
insert into cuentas values(2,'ven','05/07/11','AA', 2.50)
insert into cuentas values(2,'ven','05/07/11','bb', 2.00)
insert into cuentas values(2,'pag','05/06/11','AA', 2.50)
insert into cuentas values(2,'pag','05/06/11','bb', 2.00)
insert into cuentas values(3,'pag','05/07/11','AA', 2.50)
insert into cuentas values(3,'pag','05/07/11','bb', 2.00)
insert into cuentas values(3,'pag','05/06/11','AA', 2.50)
insert into cuentas values(3,'pag','05/06/11','bb', 2.00)

select * from
(
select a.cuenta,
a.estado,
a.fecha,
a.tipo,
a.importe,
ROW_NUMBER () OVER (PARTITION BY a.cuenta,
a.estado,
a.fecha,
a.tipo,
a.importe order by a.fecha) AS RN
from Cuentas a where a.estado = 'ven'
) t1 where RN <= 3
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 A ELABORACION DE QUERY completo

Publicado por carmen (3 intervenciones) el 08/07/2011 23:57:38
Muchas gracias lo probe en la version 2008 y me funciono
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 A ELABORACION DE QUERY completo

Publicado por Isaias (3180 intervenciones) el 09/07/2011 01:42:16
Carmen

Que bueno saber que te sirvio, saludos
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