Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/08/2006, 21:57
Avatar de julwo
julwo
 
Fecha de Ingreso: mayo-2004
Ubicación: santiago, Rep Dom
Mensajes: 252
Antigüedad: 20 años
Puntos: 0
Pregunta

ok
me explico mejor
supongamos que el cliente 1 kiere hacer un pago de $500 a un contrato k tiene vario detalles eje.

contrato
numecont tiempo codclie
1-----------4--------1

det_contrato
numecont codvall preven
1----------2------$2500
1----------5------$3000
1----------6------$1500

pago
idpag numecont montopag
1-----------1------$500

clientes
codclie nombre
1---------juan


el problema es que solo hize un pago de 500 pero como el contrato tiene varios det_contrato los ve como 1500 ya k el sql trae 3 registros

aki esta el sql

SELECT contrato.numecont, SUM(det_contrato.preven * contrato.tiempo) - SUM(pago.montopag) AS balance
FROM contrato INNER JOIN
det_contrato ON contrato.numecont = det_contrato.numecont INNER JOIN
clientes ON contrato.codclie = clientes.codclie LEFT OUTER JOIN
pago ON contrato.numecont = pago.numecont
WHERE (contrato.codclie = 1)
GROUP BY contrato.numecont
HAVING (SUM(det_contrato.preven * contrato.tiempo) - SUM(pago.montopag) > 0)
__________________
Cuando las cosa son Buenas, SON BUENAS! no importan las R@tas que orinen en el camino! Me SiGUe!!