SELECT a.Gebietsnummer as AGS, a.Gebietsname as Kreis, a.Gruppenname as Partei, a.Prozent, c.Wahlberechtigte, d.Wählende, e.Ungültige, f.Gültige, d.Wählende/c.Wahlberechtigte*100 as Prozent_Wahlbeteiligung, e.Ungültige/d.Wählende*100 as Prozent_Ungültig
FROM stimmen a
INNER JOIN (
SELECT Gebietsname, MAX(Prozent) Prozent
FROM stimmen
WHERE Gebietsart = 'Kreis' AND Gruppenart = 'Partei'
GROUP BY Gebietsname
) b ON a.Gebietsname = b.Gebietsname AND a.Prozent = b.Prozent
INNER JOIN (
SELECT Gebietsname, SUM(Anzahl) as Wahlberechtigte
FROM stimmen
WHERE Gebietsart = 'Kreis' AND Gruppenart = 'System-Gruppe' AND Gruppenname = 'Wahlberechtigte'
GROUP BY Gebietsname
) c ON a.Gebietsname = c.Gebietsname
INNER JOIN (
SELECT Gebietsname, SUM(Anzahl) as Wählende
FROM stimmen
WHERE Gebietsart = 'Kreis' AND Gruppenart = 'System-Gruppe' AND Gruppenname = 'Wählende'
GROUP BY Gebietsname
) d ON a.Gebietsname = d.Gebietsname
INNER JOIN (
SELECT Gebietsname, SUM(Anzahl) as Ungültige
FROM stimmen
WHERE Gebietsart = 'Kreis' AND Gruppenart = 'System-Gruppe' AND Gruppenname = 'Ungültige'
GROUP BY Gebietsname
) e ON a.Gebietsname = e.Gebietsname
INNER JOIN (
SELECT Gebietsname, SUM(Anzahl) as Gültige
FROM stimmen
WHERE Gebietsart = 'Kreis' AND Gruppenart = 'System-Gruppe' AND Gruppenname = 'Gültige'
GROUP BY Gebietsname
) f ON a.Gebietsname = f.Gebietsname