Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/12/2014, 11:12
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Seleccionar la suma de cheques no cobrados

Cita:
El caso es que quiero mosrar las deudas de clientes, si el cliente entrego cheques se le descuenta obviamente, pero quiero mostrar el noombre del cliente
Por lo pronto, es una cuestión de orden, ya que si un cliente no está asociado a una persona, entonces habrá menos personas que clientes, y no saldrán todos los clientes...
Debes poner primero la tabla de clientes, y luego el de personas.
Asimismo, cuando usas una condición sobre una tabla a la derecha del LEFT JOIN, esta operará generando un INNER JOIN, ya que el cumplimiento se vuelve mandatorio, y sólo dará resultados si efectivamente hay datos en ese campo; en consecuencia debe incluirse en ese caso que la relación pueda ser nula a fin de que te devuelva los registros no coincidentes de la tabla a la izquierda (la primera).
La idea sería mas o menos así:
Código MySQL:
Ver original
  1. SELECT  nombreyape, deuda, SUM(haber) Total
  2. FROM cliente C  
  3.     LEFT JOIN persona P ON C.idpersona = P.idpersona
  4.     LEFT JOIN cheque CH ON C.idcliente=CH.idcliente
  5. WHERE CH.cobrado='n'
  6.     OR CH.cobrado IS NULL
  7. GROUP BY C.idpersona;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)