Semplicemente non puoi avere un'istruzione SQL statica che restituisce un numero variabile di colonne. È necessario costruire tale dichiarazione ogni volta che cambia il numero dei diversi distretti. Per farlo, esegui prima un
SELECT DISTINCT District FROM district_details;
Questo ti darà l'elenco dei distretti in cui ci sono i dettagli. Quindi costruisci un'istruzione SQL che esegue un'iterazione sul risultato precedente (pseudocodice)
statement = "SELECT name "
For each row returned in d = SELECT DISTINCT District FROM district_details
statement = statement & ", SUM(IF(District=""" & d.District & """,1 ,0)) AS """ & d.District & """"
statement = statement & " FROM district_details GROUP BY name;"
Ed esegui quella query. Dovrai quindi gestire nel tuo codice l'elaborazione del numero variabile di colonne