15/08/2006, 21:57
|
| | | Fecha de Ingreso: mayo-2004 Ubicación: santiago, Rep Dom
Mensajes: 252
Antigüedad: 20 años, 8 meses Puntos: 0 | |
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!! |