codice:SELECT COUNT(Tmp1.stato) AS TotReport, StatiSms.stato, CONCAT(MONTH(Report.DataOra), '/', YEAR(Report.DataOra)) AS Mese, StatiSms.Vodafone FROM Report INNER JOIN Tmp1 ON Report.id = Tmp1.Id RIGHT OUTER JOIN StatiSms ON Tmp1.stato = StatiSms.stato INNER JOIN ReportListe ON Report.Id = ReportListe.Id_Report WHERE Report.Id_Ambiente = 1 GROUP BY StatiSms.stato, MONTH(Report.DataOra), YEAR(Report.DataOra) ORDER BY YEAR(Report.DataOra), MONTH(Report.DataOra), StatiSms.id;
la query funziona in maniera corretta, ma nell'inner join evidenziato in rosso accade il problema. Ovvero nella tabella "ReportListe" ci possono essere più corrispondenze a "Report.Id", di conseguenza il "COUNT(Tmp1.stato)" mi restituisce un valore sballato.
Avrei pertanto bisogno di fare un "DISTINCT" su "Report.Id", solo che se lo metto nella select, ovviamente non ottengo più il totale che mi interessa.
suggerimenti?

- succube della Honda
Rispondi quotando
