Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2019, 15:16
iosusie
 
Fecha de Ingreso: febrero-2013
Mensajes: 2
Antigüedad: 11 años, 2 meses
Puntos: 0
Problema con INNER JOIN y SUM con registros vacios

A ver como os lo cuento...

Tengo dos tablas (Agenda, Pagos). Su estructura es la siguiente:
Agenda
ID
Fecha
Importe
Pagado

Pagos
ID
ID_Agenda
Fecha
Importe

En la Agenda se anotan citas de una consulta de masajes y el precio que cuesta dicha cita. El pago de dicha cita se anota en Pagos ya que como se puede pagar en varias remesas, estas quedan registradas independientemente. Una vez de que todo el importe de la cita se ha abonado el campo Pagado se pone en verdadero.

Me gustaría hacer una consulta/búsqueda de todas la citas de la agenda cuyo campo Pagado sea falso y que contenga la suma de los importes de la tabla Pagos para mostrar el importe de la cita y lo pagado por esa cita para ver lo que falta de pagar.

El problema es que puede haber citas sin pagar y no existe ningún registro en Pagos. Entonces la consulta no muestra las citas que no tienen ningún pago.

mi consulta es esta:

Código:
SELECT
`Agenda`.`ID`,
`Agenda`.`Importe`,
`Agenda`.`Pagado`,
`Pagos`.`ID_Agenda`,
SUM(`Pagos`.`Importe`) AS `Importe_0`
FROM
`Agenda`
JOIN `Pagos`
ON `Agenda`.`ID` = `Pagos`.`ID_Agenda`
WHERE
`Agenda`.`Pagado`=0
GROUP BY
`Pagos`.`ID_Agenda`
Alguna sugerencia para que muestre las citas cuyo campo Pagado sea falso y la suma de los pagos no cubra el importe de las citas aunque no exista ningún pago? Esto es, que muestre también las citas que no tengan ningún pago

Muchas gracias...