Totale von Spalten anzeigen

Angins

Mitglied
Hallo zusammen,
Bin momentan völlig verwirrt, ich muss aus einer Tabelle, jeweils von jeder Spalte (Von Spalte A,B,C und D)das Total berechnen.
Wie muss ich jetzt das Total Anzeigen in der Tabelle Kann ja nicht einfach eine Spalte Total anhängen mit den Resultaten, da Sie ja nichts mit den Zeilen zu tun haben, sondern mit den Spaltentotalen. Die einzige Lösung die ich gerad sehe ist, für jedes der Totale (Sprich Total A, Total B, Total C, Total D) eine Spalte zu erstellen, was aber eine sehr hässliche Lösung wäre.

Gibt es da eine schöne Lösung zu diesem Problem?

Ich hoffe Ihr versteht was ich ungefähr meine...! :)

Gruss
Angins
 

Anhänge

  • tABELLEgif.gif
    tABELLEgif.gif
    2,7 KB · Aufrufe: 24
Unter Oracle würde man so ein Problem mittels GROUP BY CUBE lösen:

SQL:
select id, sum(a), sum(b), sum(c), sum(d) 
from zahlen 
group by cube( id  ) 
order by id nulls last;

I          SUM(A)          SUM(B)          SUM(C)          SUM(D)
- --------------- --------------- --------------- ---------------
1             100             500               0              10
2             200              10             100             100
3               0             100               0              50
4               0               0               0              10
              300             610             100             170

5 Zeilen ausgewählt.

Die Zeile mit ID = NULL enthält deine Summen.
 
Zuletzt bearbeitet von einem Moderator:
Hi,

Extra Felder in der Tabelle brauchst du dafür nicht. Wert die sich berechnen lassen sollten wenn möglich nicht persitent abgelegt werden.
mit
SQL:
SELECT SUM(A) AS SummeA, SUM(B) AS SummeB, SUM(C) AS SummeC, SUM(D) AS SummeD, FROM mytable
kannst du das gewünscht abfragen.
 
Hallo Zusammen,

Leider arbeite ich mit einem SQL Server, da funktioniert die Funktion Cube nicht.

@niggo: Leider brauche ich auch die Zahlen die zuammengezählt werden und nicht nur die Ergebnisse.

Trotzdem danke für die Mühe!

Gruss
Angins
 
Dann könnte dir ein UNION ALL helfen, Nachteil ist allerdings, dass du die gesamte Tabelle 2 mal lesen musst:

SQL:
SELECT ID, A, B, C, D, FROM myTABLE
UNION ALL
SELECT 'SUMME', SUM( a ), SUM( b ), SUM( c ), SUM( d ) FROM myTABLE;
 
Zuletzt bearbeitet von einem Moderator:
Möchte dir nochmals Danken für deine Hilfe.
Habe die Abfrage nun endlich hingekriegt. Habe das 'Union All' verwendet und zusätzlich noch das 'Rollup', da meine SQL Abfrage noch einiges komplexer wurde.

Gruss
Angins
 
Zurück