Du kan helt enkelt inte ha en statisk SQL-sats som returnerar ett variabelt antal kolumner. Du måste bygga ett sådant uttalande varje gång antalet olika distrikt ändras. För att göra det, kör du först en
SELECT DISTINCT District FROM district_details;
Detta ger dig en lista över distrikt där det finns detaljer. Du bygger sedan en SQL-sats som itererar över det föregående resultatet (pseudokod)
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;"
Och kör den frågan. Du måste då i din kod hantera bearbetningen av det variabla antalet kolumner