Просто не можете да имате статичен SQL израз, връщащ променлив брой колони. Трябва да изграждате такова изявление всеки път, когато броят на различните области се промени. За да направите това, първо изпълнявате
SELECT DISTINCT District FROM district_details;
Това ще ви даде списък с областите, където има подробности. След това изграждате SQL израз, повтарящ предишния резултат (псевдокод)
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;"
И изпълнете тази заявка. След това ще трябва да обработвате в кода си обработката на променливия брой колони