Oeko: Problem mit SUM über viele Tabellen

Hallo,

ich habe leider ein Problem.
Ich habe 12 Tabellen in jeder eine Spalte punkte existiert. Das ganze soll eine Auswertungen für einen Wettbewerb werden. In der Übersichtseite sollen alle Werte der bisherigen Punkte zusammengezählt werden.
Als kleinen Ausschitt des Befehls verwende ich (Wird sonst sehr unübersichtlich und das funktioninert auch schon nicht!)
SELECT cl_teams, SUM(cl_klettern.punkte,cl_bob.punkte)AS punkte_gesamt from cl_teams, cl_klettern, cl_bob

Ich habe das ganze auch schon mit einem Join versucht, leider auch ohne Erfolg. Das ganze soll dann am Ende über 12 Tabellen erfolgen. Als Fehlermeldung kommt: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cl_bob.punkte)AS punkte_gesamt from cl_teams, cl_klettern, cl_bob' at line 1

Wir mir scheint habe ich ein Problem mit dem SUM Befehl, allerdings scheint der mir korrekt zu sein!

Wäre Klasse wenn mir hier geholfen werden könnte.

Als Version verwende ich MySQL-Client-Version: 5.0.38

Viele Grüße aus dem Süden

  1. Hallo,

    ich habe leider ein Problem.

    vermutlich eines mit einer ungünstigen Tabellenstruktur.

    Ich habe 12 Tabellen in jeder eine Spalte punkte existiert.

    vermutlich sind es 11 Tabellen zuviel :-)
    Statt nicht funktionierenden SQL-Code zu liefern, solltest Du einfach zwei Beispieltabellen mit ein paar Beispieldatensätzen zeigen, sowie das gewünschte Ergebnis der Abfrage mit der Begründung, warum dies das Ergebnis ist.

    Derzeit vermute ich, dass es in jeder Tabelle die Spalten

    - team,
     - punkte

    gibt (die durchaus etwas anders benannt sein können). Stimmt das in etwa?
    Wenn ja, so kannst Du das Ergebnis einfach mit einem Subselect erhalten:

    SELECT  
        gesamt.team,  
        SUM(gesamt.punkte)  
    FROM (                  -- statt aus einer Tabelle wählen wir  
        SELECT              -- unsere Daten aus einer Zusammenfassung  
            team,           -- aus allen Tabellen aus  
            punkte  
        FROM  
            klettern  
        [link:http://dev.mysql.com/doc/refman/5.0/en/union.html@title=UNION] ALL           -- die wir über UNION erhalten  
        SELECT  
            team,  
            punkte  
        FROM  
            bob  
    ) gesamt                 -- dieser Aliasname ist zwingend erforderlich  
    GROUP BY  
        gesamt.team  
    
    

    Freundliche Grüße

    Vinzenz