1.2k Aufrufe
Gefragt in Datenbanken von
Hallo,

möchte aus einer Tabelle, die stark vereinfach so aufgebaut ist:

ID Bez Betrag Jahr
1 Huber 700 2007
2 Huber 800 2008
3 Huber 900 2009
4 Mair 1000 2007
5 Mair 2000 2008
6 Mair 3000 2009
7 Huber 300 2007
8 Huber 1200 2008
9 Huber 2100 2009
10 Mair 9000 2007
11 Mair 18000 2008
12 Mair 27000 2009


folgendes Ergebnis bekommen - also eine Zeile pro 'Bez' und in den Spalten eine Summe Betrag pro Jahr:

Bez Sum2007 Sum2008 Sum2009
Huber 1000 2000 3000
Mair 10000 20000 30000


Leider scheitere ich dabei. Habe bisher nur folgende Möglichkeit gefunden - aber da bekomme ich (verständlicherweise) in jeder Zeile die Gesamtsumme.


SELECT Bez, (SELECT SUM(Betrag) FROM T1 WHERE Jahr = 2007) AS Summe2007,
(SELECT SUM(Betrag) FROM T1 WHERE Jahr = 2008) AS Summe2008,
(SELECT SUM(Betrag) FROM T1 WHERE Jahr = 2009) AS Summe2009
FROM T1
GROUP BY Bez;


Bin noch ganz neu mit SQL - vielleicht löst man sowas ja auch ganze anders - bin euch für alle Tips dankbar.

Vielen Dank schon vorab.

2 Antworten

0 Punkte
Beantwortet von
Was ich noch vergessen habe - es handelt sich um eine Access-Datenbank.
0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo sqlnewbi,

erstelle eine Kreuztabellenabfrage (Pivottabelle) auf der Basis deiner Grundtabelle mit dem Abfrageassistenten, mit "Jahr als Spaltenüberschrift, "Bez" als Zeilenüberschrift und "Summe von Betrag" als Wert.

Gruß
Ralf
...