Cita: CHEQUE son los ingresos que hay en una empresa osea que otras empresas giran por trabajos realizados.
ABONO son los pagos a terceros ejemplo pago a cualquier persona por servicios
Esencialmente estás intentando hacer un balance de caja...
El tema en ese caso pasa porque no existe en realidad una relación entre ambos porque se trata de operaciones completamente independientes. Son entidades diferentes.
Acá, para resolverlo deberías crear en lugar de esa entidad "Mes" una entidad que llames, por ejemplo, "MovimientoCaja", y relaciones Cheque ("Caja_Cheque") y Abono ("Caja_Egreso") con ella, de modo que hereden la clave (relación 1:N en una jerarquia).
De ese modo tendrías todos los movimientos de caja registrados en una tabla, y los tipos de movimiento en cada una de las otras (a la que se pueden ir agregando otras según el tipo de entrada o egreso que se trate).
En ese contexto, si quieres el listado completo sería:
Código MySQL:
Ver original MC.movimiento_id,
MC.fecha,
IFNULL(CE.importe
, 0.0) Egreso
, IFNULL(CC.importe
, 0.0) Ingreso
movimiento_caja MC
LEFT JOIN CajaEgreso CE
ON MC.movimiento_id
= CE.movimiento_id
LEFT JOIN CajaCheque CC
ON MC.movimiento_id
= CC.movimiento_id
MC.movimiento_id
Si quieres además una sumatoria con subtotales:
Código MySQL:
Ver original MC.movimiento_id,
MC.fecha,
IFNULL(CE.importe
, 0.0) Egreso
, IFNULL(CC.importe
, 0.0) Ingreso
, SUM(CE.importe
) TotalEgreso
, SUM(CC.importe
) TotalIngreso
movimiento_caja MC
LEFT JOIN CajaEgreso CE
ON MC.movimiento_id
= CE.movimiento_id
LEFT JOIN CajaCheque CC
ON MC.movimiento_id
= CC.movimiento_id
MC.movimiento_id,
MC.fecha,
CE.importe Egreso,
No te olvides que para que este esquema funcione las tablas CajaCheque y CajaEgreso que te indico no deben tener clave propia, sino que heredan la clave de MovimientoCaja.
Si no entiendes bien esta idea te sugiero empezar leyendo algo de fundamentos del modelo Entidad - Relación y su aplicación a las bases de datos, cosa que puedes
encontrar en Wikipedia.