Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/11/2003, 10:38
Avatar de Cain
Cain
 
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
Manejando LEFT JOIN en MySQL

Intento hacer una consulta con dos left joins, pero los resultados no son los esperados

Consulta:
Código:
SELECT a.cliente, (sum(p.hores)/60) as horas, (sum(t.dineros)/60) as dineros
  FROM clientes c
  LEFT JOIN horarios p ON (p.id_client = c.id_client)
  LEFT JOIN dinero t ON (t.id_client = c.id_client)
  GROUP BY cliente
  HAVING horas > 0 OR dineros > 0
Debería dar:
12 - 15 - 10


Y da:
12 - 30 - 30

¿Por qué?

Porque hay dos registros en dinero y tres en horarios, y me multiplica los sum() de cada tabla por los registros de la otra.

Supongo que el truco estaría en usar una función diferente de sum() o en agrupar por algun otro campo. ¿Alguna idea?
__________________
M a l d i t o F r i k i