claro que si, sin embargo había comentado que únicamente cuando el último registro sea "C" el patron debe ser abandonado (el abadonar no significa que debe terminar la consulta únicamente debe saltar la consulta del cod_prestamo y cod_usuario)
Código SQL:
Ver originalSELECT Cod_usuario,Cod_Prestamo FROM ArchivoSocias WHERE Cod_Usuario = '0101LCE3003911' AND Cod_Prestamo = '0101-259-01-07-00016'
SELECT Cod_Prestamo,Fecha_Pago,Nro_Cuota FROM Fechas_Pago WHERE Cod_Prestamo = '0101-259-01-07-00016'
SELECT Cod_Usuario,Cod_prestamo,Fecha_SPP,Fecha_Efectiva,Nro_Cuota,Tipo_Pago FROM ArchivoPS WHERE Cod_Usuario = '0101LCE3003911' AND Cod_Prestamo = '0101-259-01-07-00016'
para obtener lo que quiero uso tres tablas que como resultado tengo lo siguiente
Código SQL:
Ver originalCod_usuario Cod_Prestamo
0101LCE3003911 0101-259-01-07-00016
Código SQL:
Ver originalCod_Prestamo Fecha_Pago Nro_Cuota
0101-259-01-07-00016 2014-06-06 00:00:00.000 1
0101-259-01-07-00016 2014-07-04 00:00:00.000 2
0101-259-01-07-00016 2014-08-01 00:00:00.000 3
0101-259-01-07-00016 2014-08-29 00:00:00.000 4
0101-259-01-07-00016 2014-09-26 00:00:00.000 5
0101-259-01-07-00016 2014-10-24 00:00:00.000 6
Código SQL:
Ver originalCod_Usuario Cod_prestamo Fecha_SPP Fecha_Efectiva Nro_Cuota Tipo_Pago
0101LCE3003911 0101-259-01-07-00016 2014-06-06 00:00:00.000 2014-06-06 00:00:00.000 1 P
0101LCE3003911 0101-259-01-07-00016 2014-07-04 00:00:00.000 2014-08-30 00:00:00.000 2 P
0101LCE3003911 0101-259-01-07-00016 2014-08-01 00:00:00.000 2014-08-30 00:00:00.000 3 P
0101LCE3003911 0101-259-01-07-00016 2014-08-29 00:00:00.000 2014-08-30 00:00:00.000 4 C
y mi consulta final sería:
Código SQL:
Ver originalSELECT aux.Cod_Usuario,aux.Cod_Prestamo,aux.Fecha_Pago,aux.Nro_Cuota,a.Fecha_Efectiva,a.Tipo_Pago
FROM (SELECT aso.Cod_Regional, aso.Cod_usuario,aso.Cod_prestamo,p.Fecha_Pago,p.Nro_Cuota
FROM Fechas_Pago p JOIN ArchivoSocias aso ON (p.Cod_Prestamo = aso.Cod_Prestamo)
WHERE
aso.Prima > 0 ) AS aux
LEFT JOIN ArchivoPS a
ON (aux.Cod_Prestamo = a.Cod_prestamo AND aux.Cod_Usuario = a.Cod_Usuario AND aux.Nro_Cuota = a.Nro_Cuota)
WHERE
aux.Cod_Usuario IN ('0101LCE3003911')
ORDER BY aux.Cod_Prestamo
el resultado:
Código SQL:
Ver originalCod_Usuario Cod_Prestamo Fecha_Pago Nro_Cuota Fecha_Efectiva Tipo_Pago
0101LCE3003911 0101-259-01-07-00016 2014-06-06 00:00:00.000 1 2014-06-06 00:00:00.000 P
0101LCE3003911 0101-259-01-07-00016 2014-07-04 00:00:00.000 2 2014-08-30 00:00:00.000 P
0101LCE3003911 0101-259-01-07-00016 2014-08-01 00:00:00.000 3 2014-08-30 00:00:00.000 P
0101LCE3003911 0101-259-01-07-00016 2014-08-29 00:00:00.000 4 2014-08-30 00:00:00.000 C
0101LCE3003911 0101-259-01-07-00016 2014-09-26 00:00:00.000 5 NULL NULL
0101LCE3003911 0101-259-01-07-00016 2014-10-24 00:00:00.000 6 NULL NULL
En este caso como el registro 4 tiene en la columna Tipo_Pago = "C" no debe mostrar los registros 5 y 6. Pero si Tipo_Pago fuera "P" debería mostrar los registros