Ankündigung

Einklappen
Keine Ankündigung bisher.

Sporttabelle aus Ergebnissen berechnen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sporttabelle aus Ergebnissen berechnen

    Hi,
    ich habe folgendes Problem:

    Ich will aus folgenden Ergebnis-Daten die aktuelle "Sport-Ergebnis-Tabelle" berechnen.

    Code:
    Teams:
    * TeamID
    * BID = BewerbsID
    * Teamname
    Code:
    Ergebnisse:
    * BID = BewerbsID
    * HTID = Heim Team-ID
    * GTID = Gast Team-ID
    * SH = gewonnene Sätze Heimteam
    * SG = gewonnene Sätze Gastteam
    * PH = gewonnene Punkte Heimteam
    * PG = gewonnene Punkte Gastteam
    Code:
    tabellenpunkte         | Wertetabelle
    * BID = BewerbsID
    * GS = gewonnene Sätze | 3 | 3 | 3 | 2 | 1 | 0
    * VS = verlorene Sätze | 0 | 1 | 2 | 3 | 3 | 3
    * TP = Tabellenpunkte  | 3 | 3 | 2 | 1 | 0 | 0
    Nun will ich die Tabelle berechnen, wodür ich zuerst die "Tabellenpunkte" für die Teams berechnen muss. Dies habe ich auch noch zusammengebracht und dann zu einer Tabelle zusammengeführt. So sieht die Abfrage aus:
    Code:
     SELECT
       E1.BID AS BID, 
       E1.HTID AS TID, 
       E1.SH AS SG, 
       E1.SG AS SV, 
       E1.PH AS PG, 
       E1.PG AS PV, 
       PA.Pnk AS Pnk
     FROM `ergebnisse` AS E1 
     LEFT JOIN tabellenpunkte AS PA ON (E1.BID=PA.BID AND E1.SH=PA.GS AND E1.SG=PA.VS)
    
     UNION 
     SELECT 
       E2.BID AS BID, 
       E2.GTID AS TID, 
       E2.SG AS SG, 
       E2.SH AS SV, 
       E2.PG AS PG, 
       E2.PH AS PV, 
       PA.Pnk AS Pnk
     FROM `ergebnisse` AS E2 
     LEFT JOIN tabellenpunkte AS PA ON (E2.BID=PA.BID AND E2.SH=PA.VS AND E2.SG=PA.GS)
    Nun müsste ich noch das ganze Gruppieren nach BID und TID und die Felder SG, SV, PG, PV und Pnk zusammenrechnen. Doch dabei scheitere ich leider. Müsste dies wohl mit irgendwelchen SubQueries machen, doch dabei bekomme ich permanent fehlermeldungem. Ich verwende MySQL 3.23!!!

    Code:
    SELECT Erg.BID, Erg.TID, SUM( Erg.SG ) AS SumSG, SUM( Erg.SV ) AS SumSV, SUM( Erg.PG ) AS SumPG, SUM( Erg.Pnk ) AS SumPnk
    FROM
    ((
    SELECT E1.BID AS BID, E1.HTID AS TID, E1.SH AS SG, E1.SG AS SV, E1.PH AS PG, E1.PG AS PV, PA.Pnk AS Pnk
    FROM `ergebnisse` AS E1 LEFT JOIN tabellenpunkte AS PA ON (E1.BID = PA.BID AND E1.SH = PA.GS AND E1.SG = PA.VS)
    UNION
    SELECT E2.BID AS BID, E2.GTID AS TID, E2.SG AS SG, E2.SH AS SV, E2.PG AS PG, E2.PH AS PV, PA.Pnk AS Pnk
    FROM `ergebnisse` AS E2 LEFT JOIN tabellenpunkte AS PA ON (E2.BID = PA.BID AND E2.SH = PA.VS AND E2.SG = PA.GS)
    ) AS Erg
    )
    Kann mir jemand bei der Abfrage helfen?

    Vielen Dank

  • #2
    doch dabei bekomme ich permanent fehlermeldungem.
    Aha das ist aber nicht so doll wenn du die hier verschweigst ...

    Kommentar


    • #3
      Ich verwende MySQL 3.23
      ....
      doch dabei bekomme ich permanent fehlermeldungem.
      Um es kurz zu machen (auch ohne Fehlermeldungen).
      MySQL 4.1 ist die erste Version die SubQuerys verarbeiten kann. Du wirst dich wohl mit JOIN abfragen, PHP oder einem Update auf Version 4.1 / 5 behelfen müssen.

      Gruß,
      Stefan
      SELECT * benutze ich nur um den Post kurz zu halten.

      Kommentar


      • #4
        MySQL 3.23? Häh? Du weisst schon, ab wann es Subselect-Unterstützung gibt?
        [url]www.php-maven.org[/url] PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
        Twitter @ [url]https://twitter.com/#!/mepeisen[/url] und Facebook @ [url]http://t.co/DZnKSUih[/url]

        Kommentar


        • #5
          Zitat von mepeisen
          MySQL 3.23? Häh? Du weisst schon, ab wann es Subselect-Unterstützung gibt?
          Ich habe es befürchtet, doch warum steht dann in der Hilfe nix dabei!!!
          http://dev.mysql.com/doc/refman/4.1/...med-views.html

          Danke für die Hilfe.

          Kommentar


          • #6
            gute Frage... Steht neuerdings ausschliesslich in irgendwelchen alten Release-Notes. Seinerzeit als 4.1 angepriesen wurde, stand dies als neues Feature drin...
            [url]www.php-maven.org[/url] PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
            Twitter @ [url]https://twitter.com/#!/mepeisen[/url] und Facebook @ [url]http://t.co/DZnKSUih[/url]

            Kommentar


            • #7
              Eine entsprechende Anmerkung findest du auf der Einstiegsseite zu Subqueries:
              Starting with MySQL 4.1, all subquery forms and operations that the SQL standard requires are supported, as well as a few features that are MySQL-specific.

              With MySQL versions prior to 4.1, it was necessary to work around or avoid the use of subqueries. In many cases, subqueries can successfully be rewritten using joins and other methods. See Section 13.2.8.11, “Rewriting Subqueries as Joins for Earlier MySQL Versions”.
              http://dev.mysql.com/doc/refman/4.1/en/subqueries.html

              Es wäre ja auch unsinnig auf jeder Unterseite die Übersichtlichkeit durch entsprechende Hinweise zu beeinflussen.

              Kommentar

              Lädt...
              X