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 ?????