Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/02/2012, 14:04
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Optimizar esta consulta

Hola ezekkiel:

El problema es que estás repitiendo una cantidad enorme de veces una misma tabla, por ejemplo la tabla monedas la estás poniendo 9 veces!!! esto es una barbaridad

Código:
LEFT JOIN monedas d 
LEFT JOIN monedas k 
LEFT JOIN monedas md 
LEFT JOIN monedas med 
LEFT JOIN monedas MEP 
LEFT JOIN monedas MLOC 
LEFT JOIN monedas mpd 
LEFT JOIN monedas mproof 
LEFT JOIN monedas mtr
No hay necesidad de declararlas (a reserva de que nos explicaras qué es lo que quieres hacer o según tú por qué se tienen que duplicar)... la cláusula ON puede contener TANTAS UNIONES COMO NECESITES, separándolas con OR y/o AND, según sea el caso... veo que en todos los casos sólo estás haciendo uniones sencillas (y puedo suponer que por eso pones tantas veces una misma tabla) pero en lugar de eso puedes hacer algo como esto:

Código:
FROM tabla1
LEFT JOIN tabla2 ON tabla1. campo = tabla2.campo
LEFT JOIN tabla3 
ON tabla1.campo = Tabla3.campo AND Tabla2.otro_campo = Tabla3.otro_campo
..........
Analiza correctamente qué es lo que necesitas obtener, estoy seguro de que podrás simplificar muchísimo la consulta.

Saludos