Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2008, 09:36
Avatar de Ragher
Ragher
 
Fecha de Ingreso: octubre-2004
Ubicación: Rosario, Argentina
Mensajes: 81
Antigüedad: 19 años, 6 meses
Puntos: 0
reemplazo de consulta

Hola a todos. Tengo una consulta al foro a ver si alguien con mas experiencia que yo me puede sacar de esta duda. Tengo una consulta en mysql que me anda bastante lento por la cantidad de inner join que tiene y quisiera saber si hay otra forma de hacer lo que quiero.

Tengo 2 tablas.

tabla 1: tab_estados
Tab_Estados_Id int
Tab_Estados_Valor int
Tab_Estados_Imagen longblob


Tabla 2: tab_abonos
Tab_Abonos_Id int
Tab_Abonos_Propiedad int
Tab_Abonos_Precio_Alquiler decimal
Tab_Abonos_Ene int
Tab_Abonos_Feb int
Tab_Abonos_Mar int
Tab_Abonos_Abr int

...y asi para todos los meses

Lo que hago en mi consulta es mostrar una imagen verde que obtengo de la tabla tab_estados si el valor de Tab_Abonos_Ene es 1 y muestro una roja si el valor de Tab_Abonos_Ene es 0

Esta es la consulta

SELECT


Tab_Abonos_Id,
Tab_Abonos_Propiedad_nombre,
Tab_Abonos_Precio_Alquiler,
Ene.Tab_Estados_Imagen as var_Ene,
Feb.Tab_Estados_Imagen as var_Feb,
Mar.Tab_Estados_Imagen as var_Mar,
Abr.Tab_Estados_Imagen as var_Abr


FROM tab_abonos

inner join tab_propiedades on
tab_propiedades.tab_propiedad_id=tab_abonos.Tab_Ab onos_Propiedad


inner Join tab_estados as Ene on
Ene.Tab_Estados_Valor =tab_abonos.Tab_Abonos_Ene

inner Join tab_estados as Feb on
Feb.Tab_Estados_Valor =Tab_Abonos.Tab_Abonos_Feb

inner Join tab_estados as Mar on
Mar.Tab_Estados_Valor =Tab_Abonos.Tab_Abonos_Mar

inner Join tab_estados as Abr on
Abr.Tab_Estados_Valor =Tab_Abonos.Tab_Abonos_Abr

la consulta me funciona pero es bastante lenta debido que hay 12 inner joins. Hay aluna otra alternativa ?????
__________________
Pronexo.com Diseño web Rosario, San Lorenzo, Argentina