SELECT A.*, B.Loc_nombre, C.Rub_nombre, C.tituloUrl, IFNULL(BA.tieneBanner, '0') AS tieneBanner FROM comercios A INNER JOIN localidades B ON B.Loc_id = A.Com_idLocalidad INNER JOIN rubros C ON A.Com_idRubro = C.Rub_id LEFT JOIN comercios_adicional CA ON CA.Coa_idComercio = A.Com_id LEFT JOIN calles KL ON A.Com_idCalle = KL.id LEFT JOIN calles K2 ON A.Com_idCalle2 = K2.id LEFT JOIN (SELECT DISTINCT BB.idComercio, '1' AS tieneBanner FROM planes_publicitarios BB WHERE BB.DwnDate IS NULL AND BB.idComercio IS NOT NULL AND EXISTS ( SELECT 1
FROM planes_publicitarios_combinaciones
WHERE DwnDate IS NULL
AND idPlanPublicitario = BB.id
AND idLocalidad = 60
) AND ( (BB.activarMesPrevio = 1 AND EXISTS (SELECT 1 FROM planes_publicitarios_periodos WHERE DwnDate IS NULL AND idPlanPublicitario = BB.id HAVING DATEDIFF(MIN(DATE(CONCAT(anio, '-', mes - 1, '-01'))), DATE(CONCAT(YEAR(NOW()), '-', MONTH(NOW()), '-01'))) = 0)) OR (BB.mantenerVigencia = 1 AND EXISTS (SELECT 1 FROM planes_publicitarios_periodos WHERE DwnDate IS NULL AND idPlanPublicitario = BB.id HAVING DATEDIFF(MAX(DATE(CONCAT(anio, '-', mes, '-01'))), DATE(CONCAT(YEAR(NOW()), '-', MONTH(NOW()), '-01'))) < 0)) OR BB.id IN (SELECT idPlanPublicitario FROM planes_publicitarios_periodos WHERE DwnDate IS NULL AND anio = YEAR(NOW()) AND mes = MONTH(NOW())) ) ) BA ON A.Com_id = BA.idComercio WHERE A.Com_DwnDate IS NULL AND (A.Com_idLocalidad = 60 OR EXISTS (SELECT 1 FROM comercios_localidades CL1 WHERE CL1.idComercio = A.Com_id AND CL1.idLocalidad = 60 AND CL1.DwnDate IS NULL ) ) AND ( ( ( A.Com_nombre LIKE '%peceto%' OR IFNULL(KL.nombre, A.Com_calle) LIKE '%peceto%' OR IFNULL(K2.nombre, '') LIKE '%peceto%' OR A.Com_numero LIKE '%peceto%' OR A.Com_pisoDepto LIKE '%peceto%' OR B.Loc_nombre LIKE '%peceto%' OR A.Com_tel1 LIKE '%peceto%' OR A.Com_tel2 LIKE '%peceto%' OR A.Com_fax LIKE '%peceto%' OR A.Com_web LIKE '%peceto%' OR A.Com_horario LIKE '%peceto%' OR C.Rub_nombre LIKE '%peceto%' OR CA.Coa_descripcion LIKE '%peceto%' OR EXISTS (SELECT 1 FROM comercios_rubros CR, rubros R WHERE CR.Cor_idComercio = A.Com_id AND CR.Cor_idRubro = R.Rub_id AND CR.Cor_DwnDate IS NULL AND R.Rub_nombre LIKE '%peceto%' ) OR EXISTS (SELECT 1 FROM comercios_localidades CL, localidades L WHERE CL.idComercio = A.Com_id AND CL.idLocalidad = L.Loc_id AND CL.DwnDate IS NULL AND L.Loc_nombre LIKE '%peceto%' ) )
)
OR EXISTS ( SELECT 1
FROM comercios_keywords CK
WHERE CK.Cok_idKeyword IN (6584)
AND CK.Cok_idComercio = A.Com_id
AND CK.Cok_DwnDate IS NULL
)
) ORDER BY IFNULL(BA.tieneBanner, '0') DESC, A.Com_ModDate DESC