Entwickler-Ecke
Datenbanken - Sortierproblem
Cashels - Mo 07.10.02 19:41
Titel: Sortierproblem
Hallo DB Experts,
ich benutze folgende Abfrage:
Quelltext
1: 2: 3:
| select D,M,J,Thema, sum(Stunden) as Summe from Arbeiten group by D,M,J,Thema |
Die Ergebnisse sind alle richtig. Ich hab eine Tabelle für welche die Summe der Spalte Stunden berechnet wird, gruppiert nach d,m,j,Thema.
Ich möchte allerdings dass das Ergebnis nach einer anderen Spalte erstellt wird, im Bsp. soll sie mal "Erstellung" heissen. Folgende Abfrage liefert mir einen Fehler:
Quelltext
1: 2: 3: 4:
| select D,M,J,Thema, sum(Stunden) as Summe from Arbeiten group by D,M,J,Thema order by Erstellung |
da das Feld Erstellung nicht in der Gruppierung auftaucht. Das Feld kann ich aber nicht aufnehmen, da es ja für jeden Datensatz anders ist und somit die Gruppierung futsch wäre...
Hat einer mein Problem verstanden :? Wäre dankbar für jede Lösung.
Gruss,
Tom
MrSpock - Di 08.10.02 06:35
Hallo Tom,
das ist leider nicht möglich. Wie du ja schon geschrieben hast, kann "Erstellung" bei jedem Datensatz anders aussehen. Stell dir vor, du hast 2 Datensätze, die in derselben "D" Gruppe (danach gruppierst du ja) sind, aber verschiedene Erstellungswerte haben, wie soll die Query denn dann sortiert werden? Deshalb kannst du bei der Anwendung von Aggregatfunktionen und Gruppierungen nur nach Werten sortieren, nach denen du auch gruppierst.
Cashels - Di 08.10.02 08:18
Danke Mrs. Spock,
was du schreibst ist mir eigentlich schon klar. Soll das also heissen, dass es keine Möglichkeit gibt, die Reihenfolge der Ausgabe zu beeinflussen :?: Dieses SQL kann einen manchmal zu Weissglut bringen.
Gruss,
tom
MrSpock - Di 08.10.02 09:23
Hallo Tom,
ja, das soll es heißen. Du könntest eventuell die Daten über ein BatchMove in eine Tabelle kopieren, geht echt schnell und dann kannst du die Daten sortieren wie du willst, aber du kannst das Feld "Erstellung" ja nicht hinzufügen.
Eventuell kannst du die Query ersetzen durch einen Durchlauf durch die Tabelle und die manuelle Ermittlung der Summe, dann kannst du Sortieren wie du willst.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!