Mehrere Summen in einer Abfrage
Moderator: Moderatoren
Mehrere Summen in einer Abfrage
Hallo,
ich habe eine Tabelle, in der Gelder eingetragen sind nach unterschiedlichen Kriterien als boolean (1/0).
Ich habe unterschiedliche Kriterien z.B. Berlin, HH, Bremen usw.
Ich würde mit folgendem Befehl herangehen:
SELECT SUM( "Betrag" ) FROM "Vertrag" WHERE "Berlin" = 1; "HH" =1, "Bremen"= 1
Was muss ich aber angeben, wenn ich die Summen der Orte einzeln in einer Abfrage ausgewiesen haben will.
Vielen Dank im Voraus.
ich habe eine Tabelle, in der Gelder eingetragen sind nach unterschiedlichen Kriterien als boolean (1/0).
Ich habe unterschiedliche Kriterien z.B. Berlin, HH, Bremen usw.
Ich würde mit folgendem Befehl herangehen:
SELECT SUM( "Betrag" ) FROM "Vertrag" WHERE "Berlin" = 1; "HH" =1, "Bremen"= 1
Was muss ich aber angeben, wenn ich die Summen der Orte einzeln in einer Abfrage ausgewiesen haben will.
Vielen Dank im Voraus.
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: Mehrere Summen in einer Abfrage
Hast Du wirklich Spaltennamen die z. B. Berlin, HH, Bremen lauten ?
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Re: Mehrere Summen in einer Abfrage
Hallo
die Daten werden über ein Formular eingegeben.
Hierbei muss bei den Städten nur ein Haken gesetzt werden ob Ja oder Nein (1/0).
Es gibt nur eine bestimmte Anzahl von Städten.
Für Verbesserungsvorschläge bin ich gerne offen.
Viele Grüße
Uwe
die Daten werden über ein Formular eingegeben.
Hierbei muss bei den Städten nur ein Haken gesetzt werden ob Ja oder Nein (1/0).
Es gibt nur eine bestimmte Anzahl von Städten.
Für Verbesserungsvorschläge bin ich gerne offen.
Viele Grüße
Uwe
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: Mehrere Summen in einer Abfrage
Hallo Uwe,
für der Hilfe zu einer SQL-Abfrage wird die Struktur der Datenbank benötigt. Ein Formular, bzw. das Aussehen einer Eingabemaske hilft da wenig weiter.
für der Hilfe zu einer SQL-Abfrage wird die Struktur der Datenbank benötigt. Ein Formular, bzw. das Aussehen einer Eingabemaske hilft da wenig weiter.
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Re: Mehrere Summen in einer Abfrage
Aloha
Würde wohl so oder so ähnlich aussehen
(Eventuell Häkchen bei "SQL-Kommando direkt ausführen" notwendig)
Bzw., wenn Deine Tabelle wirklich 1er und 0er enthält in den Städtspalten, dann noch einfacher so:
Würde wohl so oder so ähnlich aussehen
Code: Alles auswählen
SELECT
SUM(CASE "Berlin" WHEN 1 THEN "Betrag" ELSE 0 END) AS "Berlin",
SUM(CASE "HH" WHEN 1 THEN "Betrag" ELSE 0 END) AS "HH",
SUM(CASE "Bremen" WHEN 1 THEN "Betrag" ELSE 0 END) AS "Bremen"
FROM
"meineTabelle"
Bzw., wenn Deine Tabelle wirklich 1er und 0er enthält in den Städtspalten, dann noch einfacher so:
Code: Alles auswählen
SELECT
SUM("Berlin" * "Betrag") AS "Berlin",
SUM("HH" * "Betrag") AS "HH",
SUM("Bremen" * "Betrag") AS "Bremen"
FROM
"meineTabelle"
Mehrere Summen in einer Abfrage + Jahreseinteilung
Hallo Super, vielen Dank funktioniert perfekt
Ich bekomme genau das heraus was ich brauche.
Ich bekomme folgendes Ergebnis mit der Abfrage
Berlin--------HH----------Bremen
15486------547896------3356546
Besteht auch noch die Möglichkeit dies auch nahc Jahren zu trennen in einer Abfrage.
Als allererstes würde mir eine Abfrage pro Jahr einfallen und dann mit einer Union vielleicht diese zusammen zufassen (ist mir aber auch nicht gelungen trotz aller variationen)
Geht das auch in einer Abfrage?
Es sollte dann ungefähr so aussehen?
Jahr------ Berlin------HH-----------Bremen
2011------ 9900-----397412-------3329006
2012-------5586-----150484--------27540
Vielen Dank im Voraus
Ich bekomme genau das heraus was ich brauche.
Ich bekomme folgendes Ergebnis mit der Abfrage
Berlin--------HH----------Bremen
15486------547896------3356546
Besteht auch noch die Möglichkeit dies auch nahc Jahren zu trennen in einer Abfrage.
Als allererstes würde mir eine Abfrage pro Jahr einfallen und dann mit einer Union vielleicht diese zusammen zufassen (ist mir aber auch nicht gelungen trotz aller variationen)
Geht das auch in einer Abfrage?
Es sollte dann ungefähr so aussehen?
Jahr------ Berlin------HH-----------Bremen
2011------ 9900-----397412-------3329006
2012-------5586-----150484--------27540
Vielen Dank im Voraus
Re: Mehrere Summen in einer Abfrage
Hallo zeeman78,
das ließe sich z.B. so lösen:
Gruß Barlee
das ließe sich z.B. so lösen:
Code: Alles auswählen
SELECT
"a".*,
"b"."Berlin",
"c"."HH",
"d"."Bremen"
FROM
(SELECT DISTINCT YEAR("Datum") AS "Datum" FROM "DeineTabelle") AS "a"
LEFT JOIN
(SELECT YEAR("Datum") AS "Datum", SUM("Berlin" * "Betrag") AS "Berlin" FROM "DeineTabelle" GROUP BY "Datum") AS "b"
ON "a"."Datum" = "b"."Datum"
LEFT JOIN
(SELECT YEAR("Datum") AS "Datum", SUM("HH" * "Betrag") AS "HH" FROM "DeineTabelle" GROUP BY "Datum") AS "c"
ON "a"."Datum" = "c"."Datum"
LEFT JOIN
(SELECT YEAR("Datum") AS "Datum", SUM("Bremen" * "Betrag") AS "Bremen" FROM "DeineTabelle" GROUP BY "Datum") AS "d"
ON "a"."Datum" = "d"."Datum"
ORDER BY "a"."Datum"
Re: Mehrere Summen in einer Abfrage + Jahreseinteilung
Servus
Das geht prinzipiell ganz einfach sozeeman78 hat geschrieben:Es sollte dann ungefähr so aussehen?
Jahr------ Berlin------HH-----------Bremen
2011------ 9900-----397412-------3329006
2012-------5586-----150484--------27540
Code: Alles auswählen
SELECT
YEAR("Datum") AS "Jahr",
SUM("Berlin" * "Betrag") AS "Berlin",
SUM("HH" * "Betrag") AS "HH",
SUM("Bremen" * "Betrag") AS "Bremen"
FROM
"meineTabelle"
GROUP BY
YEAR("Datum")
ORDER BY
YEAR("Datum") ASC
Re: Mehrere Summen in einer Abfrage
Vielen, Vielen Dank.
Super
Super