SELECT sconto_tempo.marchio,sconto_tempo.articolo, sconto_tempo.sconto, fascia_sconto, where_fascia_sconto FROM ( SELECT pd.marchio, pd.articolo, pd.codice_tessuto FROM prodotto_dati_quantita_web as pd WHERE 1 AND pd.marchio IN ('KARL LAGERFELD','KARL LAGERFELD JEANS') AND pd.categoria IN ('OCCHIALI','INTIMO','CAMICIE','ALTRO') ) AS pd INNER JOIN ( SELECT sconto_tempo.marchio,sconto_tempo.articolo, sconto_tempo.sconto, CASE WHEN sconto > 0 AND sconto <= 10 THEN '1-10' WHEN sconto > 10 AND sconto <= 20 THEN '11-20' WHEN sconto > 20 AND sconto <= 30 THEN '21-30' WHEN sconto > 30 AND sconto <= 40 THEN '31-40' WHEN sconto > 40 AND sconto <= 50 THEN '41-50' WHEN sconto > 50 AND sconto <= 60 THEN '51-60' WHEN sconto > 60 AND sconto <= 70 THEN '61-70' WHEN sconto > 70 AND sconto <= 80 THEN '71-80' WHEN sconto > 80 AND sconto <= 90 THEN '81-90' ELSE '91-100' END AS fascia_sconto, CASE WHEN sconto > 0 AND sconto <= 10 THEN 'AND sconto > 0 AND sconto <= 10' WHEN sconto > 10 AND sconto <= 20 THEN 'AND sconto > 11 AND sconto <= 20' WHEN sconto > 20 AND sconto <= 30 THEN 'AND sconto > 21 AND sconto <= 30' WHEN sconto > 30 AND sconto <= 40 THEN 'AND sconto > 31 AND sconto <= 40' WHEN sconto > 40 AND sconto <= 50 THEN 'AND sconto > 41 AND sconto <= 50' WHEN sconto > 50 AND sconto <= 60 THEN 'AND sconto > 51 AND sconto <= 60' WHEN sconto > 60 AND sconto <= 70 THEN 'AND sconto > 61 AND sconto <= 70' WHEN sconto > 70 AND sconto <= 80 THEN 'AND sconto > 71 AND sconto <= 80' WHEN sconto > 80 AND sconto <= 90 THEN 'AND sconto > 81 AND sconto <= 90' ELSE '91-100' END AS where_fascia_sconto FROM sconto_tempo -- FORCE INDEX (data_da) WHERE 1 AND (CURDATE() BETWEEN data_da AND data_a) AND sconto < '100.0' AND sconto > '0.0' ) AS sconto_tempo ON sconto_tempo.articolo = pd.articolo AND sconto_tempo.marchio = pd.marchio GROUP BY fascia_sconto