Mehrere Summen in einer Abfrage

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Mehrere Summen in einer Abfrage

Re: Mehrere Summen in einer Abfrage

von zeeman78 » Do, 01.03.2012 11:28

Vielen, Vielen Dank.

Super

Re: Mehrere Summen in einer Abfrage + Jahreseinteilung

von DPunch » Mi, 29.02.2012 06:59

Servus
zeeman78 hat geschrieben:Es sollte dann ungefähr so aussehen?

Jahr------ Berlin------HH-----------Bremen
2011------ 9900-----397412-------3329006
2012-------5586-----150484--------27540
Das geht prinzipiell ganz einfach so

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

von Barlee » Di, 28.02.2012 21:23

Hallo zeeman78,

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"
Gruß Barlee

Mehrere Summen in einer Abfrage + Jahreseinteilung

von zeeman78 » Fr, 24.02.2012 16:51

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

Re: Mehrere Summen in einer Abfrage

von DPunch » Di, 24.01.2012 18:58

Aloha

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"
(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:

Code: Alles auswählen

SELECT
	SUM("Berlin" * "Betrag") AS "Berlin",
	SUM("HH" * "Betrag") AS "HH",
	SUM("Bremen" * "Betrag") AS "Bremen"
FROM
	"meineTabelle"

Re: Mehrere Summen in einer Abfrage

von pmoegenb » Di, 24.01.2012 14:29

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.

Re: Mehrere Summen in einer Abfrage

von zeeman78 » Di, 24.01.2012 13:39

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

Re: Mehrere Summen in einer Abfrage

von pmoegenb » Di, 24.01.2012 12:56

Hast Du wirklich Spaltennamen die z. B. Berlin, HH, Bremen lauten ?

Mehrere Summen in einer Abfrage

von zeeman78 » Di, 24.01.2012 12:19

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.

Nach oben