PDA

View Full Version : sql mit summe



Seiten : [1] 2

Robi
26-04-11, 08:54
Hi *all,
im Query gibt es ja die Möglichkeit Gruppenwechsel und Summen zu definieren.
Gibt es diese Möglichkeit auch im SQL ?

Group und Sum() ist schon klar, ich meine eine Anzeige der Einzelsätze mit definierten Zwischen und Endsummen
Danke
Robi

BenderD
26-04-11, 09:19
union ist dein Freund

D*B

Robi
26-04-11, 10:33
versteh ich nicht !
Union ?
verwende ich ab und zu um eine 2. gleichartige Datei 'unten' an zu hängen?
irgendwie steh ich auf dem Schlauch !
Robi

Pikachu
26-04-11, 10:44
Probiers mal so:

SELECT ARTIKEL, MENGE, '' FROM Datei
UNION ALL
SELECT ARTIKEL, SUM(MENGE), 'Summe' FROM Datei GROUP BY ARTIKEL
ORDER BY 1, 3

andreaspr@aon.at
26-04-11, 11:05
Hi,

ich glaube das was du meinst sind Super-Groups wie CUBE, ROLLUP oder GROUPING in SQL.
Damit kannst du Zwischensummen in der Abfrage ausgeben lassen.
Z.B.: Eine summierte Auflistung aller Kunden sortiert nach Stadt + Zwischensummen aller Kunden je Stadt.
Mit Union geht das auch, ist aber aufwendig und unübersichtlicher.
Diese Super-Groups stehen jedoch erst ab 6.1 zur verfügung.

Robi
26-04-11, 13:47
Danke an alle,
das mit dem Union funktioniert, ist aber recht langsam.
Cube, Rollup oder Grouping kenn ich noch nicht.
Aber die Kiste, auf der ich das machen muß, hat auch nur V5R4

Danke
Robi

Fuerchau
26-04-11, 14:25
Dann mach das doch mit einem Query/400 in eine Ausgabedatei.
Da hast du dann alle Einzeldaten und Summensätze.

Robi
26-04-11, 15:06
So wird's z.zt. ja auch gemacht.
Aber um mit userem Web-Interface die Daten 'irgendwo' anzuzeigen brauche ich eine SQL-View.

Gruß
Robi

Fuerchau
26-04-11, 15:46
Ja und nein.
Du kannst per SQL ja eine externe Prozedur aufrufen, die wiederum ein CLP ist.
Dieses CLP führt RUNQRY in die QTEMP aus und anschließend liest du das Ergebnis aus der QTEMP-Tabelle.

Robi
26-04-11, 15:52
ok, garnicht mal so schlecht die Idee.
Werde es versuchen
Ich befürchte nur, das es noch langsamer wird.
Das Zeitproblem ist hab ich, das die Basis (fast) immer 8- 10 Mio. Sätze sind.

Trotzdem, einen Versuch ist das Wert
Danke
Robi