Power Builder - consulta sql

 
Vista:

consulta sql

Publicado por lily (17 intervenciones) el 14/05/2012 21:55:45
necesito hacer una super consulta, de una tabla de movimientos necesito obtener tres datos, la ultima fecha de pago, el valor pagado y el numero de recibo de la tabla principal necesito numero de prestamo, codigo de cartera y otros datos de otras tablas, tengo la siguiente secuencia pero me da que el subquery da mas de un registro y me da error.....como puedo corregirlo???

SELECT A.NUM_PRESTAMO,
A.SALDO,
NUMRECIBO =(SELECT G.NUM_RECIBO FROM MOV_MUTUOS G
WHERE G.NUM_PRESTAMO = A.NUM_PRESTAMO and G.COD_CARTERA =1 and G.FEC_RECIBO = (select max(G.FEC_RECIBO)
from MOV_MUTUOS G
where G.NUM_PRESTAMO = A.NUM_PRESTAMO and
G.COD_CARTERA = 1 ) GROUP BY G.COD_CARTERA, G.NUM_PRESTAMO, G.COR_MOV),
D.COD_CARTERA,
FECRECIBO = max(C.FEC_RECIBO),
E.COD_COLONIA,
A.COD_INMUEBLE,
F.DIR_INMUEBLE,
A.MONTO
FROM MUTUOS A,
USUARIOS B,
MOV_MUTUOS C,
TIPO_CARTERA D,
COLONIAS E,
INMUEBLES F
WHERE ( A.COD_UNICO = B.COD_UNICO ) and
( A.NUM_PRESTAMO = C.NUM_PRESTAMO ) and
( A.COD_CARTERA = C.COD_CARTERA ) and
( A.COD_CARTERA = D.COD_CARTERA ) and
( E.COD_DEPTO = F.COD_DEPTO ) AND
( E.COD_MUNIC = F.COD_MUNIC ) AND
( E.COD_COLONIA = F.COD_COLONIA ) AND
( A.COD_INMUEBLE = F.COD_INMUEBLE ) AND
( A.SALDO <= 0.00 ) AND
( D.COD_CARTERA = 1 /*:cartera*/ )
GROUP BY A.NUM_PRESTAMO,
A.SALDO,
D.COD_CARTERA,
D.NBR_CARTERA,
E.COD_COLONIA,
A.COD_INMUEBLE,
F.DIR_INMUEBLE,
A.MONTO

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

consulta sql

Publicado por Gamunax (4 intervenciones) el 28/05/2012 23:15:39
Hola Lily, coloco el query modificado, haber prueba . Saludos.


SELECT A.NUM_PRESTAMO,
A.SALDO,
NUMRECIBO =(SELECT G.NUM_RECIBO
FROM MOV_MUTUOS G
WHERE G.NUM_PRESTAMO = A.NUM_PRESTAMO and G.COD_CARTERA =1),
D.COD_CARTERA,
FECRECIBO = max(C.FEC_RECIBO),
E.COD_COLONIA,
A.COD_INMUEBLE,
F.DIR_INMUEBLE,
A.MONTO
FROM MUTUOS A,
USUARIOS B,
MOV_MUTUOS C,
TIPO_CARTERA D,
COLONIAS E,
INMUEBLES F
WHERE ( A.COD_UNICO = B.COD_UNICO ) and
( A.NUM_PRESTAMO = C.NUM_PRESTAMO ) and
( A.COD_CARTERA = C.COD_CARTERA ) and
( A.COD_CARTERA = D.COD_CARTERA ) and
( E.COD_DEPTO = F.COD_DEPTO ) AND
( E.COD_MUNIC = F.COD_MUNIC ) AND
( E.COD_COLONIA = F.COD_COLONIA ) AND
( A.COD_INMUEBLE = F.COD_INMUEBLE ) AND
( A.SALDO <= 0.00 ) AND
( D.COD_CARTERA = 1 /*:cartera*/ )
GROUP BY A.NUM_PRESTAMO,
A.SALDO,
D.COD_CARTERA,
D.NBR_CARTERA,
E.COD_COLONIA,
A.COD_INMUEBLE,
F.DIR_INMUEBLE,
A.MONTO
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