WinFuture-Forum.de: Sql-abfrage - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Sql-abfrage help :)


#1 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 23. Februar 2010 - 13:54

Ich hab mal eine Frage an die SQL-Spezis!!

Folgende Tabelle:


Projekt 1 2008 80€
Projekt 1 2008 20€
Projekt 1 2009 40€
Projekt 2 2007 50€
Projekt 2 2008 30€
Projekt 2 2008 20€
Projekt 2 2010 30€
Projekt 3 2009 50€
Projekt 3 2009 30€

Wie kann ich eine Abfrage machen, die nach Projekt PRO Jahr summiert? Also so:

Projekt 1 2008 100€
Projekt 2 2008 xxx€
Projekt 3 2008 xxx€
Projekt 1 2009 xxx€

und so weiter. Für jedes Projekt und jedes Jahr genau eine Zeile.

Danke!!!
Gruß
XD
0

Anzeige



#2 Mitglied ist offline   MS Master 

  • Gruppe: aktive Mitglieder
  • Beiträge: 173
  • Beigetreten: 31. Dezember 08
  • Reputation: 0

geschrieben 23. Februar 2010 - 15:06

Hm,

nur das ich das richtig verstehe, du suchst einen einzigen query der dir das Ergebnis liefert?

Mittels SUM() kannst du zwar schön Summen bilden und z.b. nach Jahr ODER Projekt ausgeben, aber ich habe bisher keinen query gesehen wo man kombiniert 2 verschiedene werte erhalten konnte.

So sieht das dann eben "einzeln" aus.

SELECT SUM(Projekt 1) AS SummeP1 FROM tabelle GROUP BY Jahr
SELECT SUM(Projekt 2) AS SummeP2 FROM tabelle GROUP BY Jahr
...


Das ganze könntest du ja jetzt in Arrays packen, und dann nacheinander ausgeben.

Dieser Beitrag wurde von MS Master bearbeitet: 23. Februar 2010 - 15:12

0

#3 Mitglied ist offline   SteinBeiser 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 03. April 08
  • Reputation: 0

geschrieben 23. Februar 2010 - 15:17

Dann versucht mal den da:

SELECT Proj,Jahr,SUM(Eur) FROM `TestADD` GROUP BY Proj,Jahr

Dieser Beitrag wurde von SteinBeiser bearbeitet: 23. Februar 2010 - 15:22

0

#4 Mitglied ist offline   LoD14 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.931
  • Beigetreten: 04. Mai 03
  • Reputation: 45
  • Wohnort:Hennef bei Köln

geschrieben 23. Februar 2010 - 15:19

Ich würd mir zuerst Tabellen projezieren, die nach einzelnen Projekten aufgeschlüsselt sind. Dann kannst du in diesen Tabellen eine entsprechenden Abfrage machen und nach Jahr gruppieren.

Ich bin nicht so sicher in der Syntax, aber im Grunde machst du ein SELECT jahr, geld FROM tabelle_ursprung WHERE projekt = projekt.

Dann kriegste ne Tabelle:
Tabelle Projekt1
2008 30€
2008 20
2009 40
...€

Und dadrauf summierst du. SELECT SUM(geld), jahr FROM Projekt1 GROUP BY jahr.

Das ist das Problem, wenn die Tabellen nicht in Normalform vorliegen. Die Tabelle oben verletzt die 2. oder 3. Normalform. Ich würd jetzt spontan sagen, 2NF ist verletzt, das macht das ganze unnötig kompliziert.

Dieser Beitrag wurde von LoD14 bearbeitet: 23. Februar 2010 - 15:21

0

#5 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 23. Februar 2010 - 15:20

@Steinbeiser: Läuft... Danke!!! :-)

Wusste ja nicht, dass mein GROUP BY mit mehreren Spalten machen kann ich Torfkopp
0

#6 Mitglied ist offline   SteinBeiser 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 03. April 08
  • Reputation: 0

geschrieben 23. Februar 2010 - 15:23

Ich auch nicht einfach probiert :rolleyes:
0

#7 Mitglied ist offline   MS Master 

  • Gruppe: aktive Mitglieder
  • Beiträge: 173
  • Beigetreten: 31. Dezember 08
  • Reputation: 0

geschrieben 23. Februar 2010 - 15:25

@SteinBeiser

Danke für den Tipp, das kannte ich bisher auch noch nicht. Kann man immer wieder gebrauchen :rolleyes:
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0