douse29: MySQL mit alias berechung durchführen

hallo,

  
SELECT t.teamname,  
 SUM(  
    IF(m.team_heim_id = t.team_id,  
    IF(m.tore_heim > m.tore_gast, 3, IF(m.tore_heim = m.tore_gast, 1, 0)),  
    IF(m.tore_heim < m.tore_gast, 3, IF(m.tore_heim = m.tore_gast, 1, 0))  
    )  
) AS Punkte,  
SUM(m.team_heim_id = t.team_id OR m.team_gast_id = t.team_id) AS Spiele  
FROM ligver_teams t  
INNER JOIN ligver_matches m ON (m.team_heim_id = t.team_id OR m.team_gast_id = t.team_id)  
 GROUP BY t.teamname  
ORDER BY Punkte DESC, t.teamname ASC  

wie kann ich 'Punkte' durch 'Spiele' dividieren um die punkte pro spiel zu erhalten. wenn ich das im select selber angebe kommt die fehlermeldung:
#1054 - Unknown column 'Punkte' in 'field list'

grüsse

  1. moin,

    wie kann ich 'Punkte' durch 'Spiele' dividieren um die punkte pro spiel zu erhalten. wenn ich das im select selber angebe kommt die fehlermeldung:
    #1054 - Unknown column 'Punkte' in 'field list'

    beispieldaten aus den relevanten tabellen mit dem entsprechenden ergebnis, was du haben willst, ohne SQL nur mit daten und worten.

    Ilja

  2. wie kann ich 'Punkte' durch 'Spiele' dividieren um die punkte pro spiel zu erhalten. wenn ich das im select selber angebe kommt die fehlermeldung:
    #1054 - Unknown column 'Punkte' in 'field list'

    Indem du die Anweisungen welche den Alias erzeugen wiederholst, der Aliasbezeichner ist in diesem Stadium nicht verfügbar.

    1. wie kann ich 'Punkte' durch 'Spiele' dividieren um die punkte pro spiel zu erhalten. wenn ich das im select selber angebe kommt die fehlermeldung:
      #1054 - Unknown column 'Punkte' in 'field list'

      Indem du die Anweisungen welche den Alias erzeugen wiederholst, der Aliasbezeichner ist in diesem Stadium nicht verfügbar.

      danke für die antwort.

      ja, das der aliasbezeichner dann nicht mehr verfügbar ist habe ich au bemerkt ;)
      alles nochmal wiederholen werde ich dann mal probieren, hört sich plausibel an, aber gehts das ggf. nicht noch ne spur 'geschickter' ?

      1. alles nochmal wiederholen werde ich dann mal probieren, hört sich plausibel an, aber gehts das ggf. nicht noch ne spur 'geschickter' ?

        In dieser Form, nain.

      2. Hi,

        alles nochmal wiederholen werde ich dann mal probieren, hört sich plausibel an, aber gehts das ggf. nicht noch ne spur 'geschickter' ?

        Womit verarbeitest du denn die ausgelesenen Werte?

        Wenn du das Ergebnis nicht direkt in der Query schon brauchst (weil du danach sortieren willst o.ä.) - dann hebt sich bspw. PHP auch keinen Bruch, wenn du dem die anschließende Division eines Wertes durch einen anderen vor/während der Ausgabe überlässt.

        MfG ChrisB

        --
        The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
        1. Hi,

          alles nochmal wiederholen werde ich dann mal probieren, hört sich plausibel an, aber gehts das ggf. nicht noch ne spur 'geschickter' ?

          Womit verarbeitest du denn die ausgelesenen Werte?

          Wenn du das Ergebnis nicht direkt in der Query schon brauchst (weil du danach sortieren willst o.ä.) - dann hebt sich bspw. PHP auch keinen Bruch, wenn du dem die anschließende Division eines Wertes durch einen anderen vor/während der Ausgabe überlässt.

          MfG ChrisB

          mit php, das stellt dann ja auch keinerlei problem da, aber ich dachte, wenn ich schon gerade dabei bin, kann ich das auch gleich mit mysql machen ;)
          zumal ich hier auch noch gleich div. weitere berechnungen + sortierungen mit u.a. weiteren aliasen, die hier nicht angegeben sind, durchführen will.
          aber ich werds dann vermutlich mir php machen, das machs für mich überschaubarer.

          gruss und dank
          douse29

          1. moin,

            mit php, das stellt dann ja auch keinerlei problem da, aber ich dachte, wenn ich schon gerade dabei bin, kann ich das auch gleich mit mysql machen ;)
            zumal ich hier auch noch gleich div. weitere berechnungen + sortierungen mit u.a. weiteren aliasen, die hier nicht angegeben sind, durchführen will.
            aber ich werds dann vermutlich mir php machen, das machs für mich überschaubarer.

            manchmal muss man betteln, um zu helfen. es geht auch ohne php. alles was du tun mussst, die fragen zu beantworten.

            Ilja

            1. moin,

              mit php, das stellt dann ja auch keinerlei problem da, aber ich dachte, wenn ich schon gerade dabei bin, kann ich das auch gleich mit mysql machen ;)
              zumal ich hier auch noch gleich div. weitere berechnungen + sortierungen mit u.a. weiteren aliasen, die hier nicht angegeben sind, durchführen will.
              aber ich werds dann vermutlich mir php machen, das machs für mich überschaubarer.

              manchmal muss man betteln, um zu helfen. es geht auch ohne php. alles was du tun mussst, die fragen zu beantworten.

              Ilja

              moin moin,

              fragen? ist mir da etwa was entgangen?
              ich habe es jetzt auch ohne php gelöst, und zwar auf die 'unelegante' art wie sie mir DiBo33 vorgeschlagen hat ...
              aber ich bin nach wie vor für eine 'elegantere' lösung offen ;)

              grüsse und danke für den support
              douse29

              1. moin,

                fragen? ist mir da etwa was entgangen?

                ich zitiere mal mich selbst: "beispieldaten aus den relevanten tabellen mit dem entsprechenden ergebnis, was du haben willst, ohne SQL nur mit daten und worten."

                das ist wohl eine sehr verstecke frage. es ist grundsätzlich so, dass sql code uns manchmal hilft, aber manchmal auch nur in die falsche richtung führt. deswegen ist es immer besser, beispieldaten zu geben, sowohl was in den tabellen enthalten ist, als auch das gewünschte ergebnis, zusätzlich noch eine beschreibung mit worten, was man machen will. das gepaart mit dem dbms und der version ist sehr hilfreich für uns....

                Ilja

      3. moin,

        aber gehts das ggf. nicht noch ne spur 'geschickter' ?

        wie ich bereits schrieb, beispieldaten der relevanten tabellen/spalten mit einem erwünschten ergebnisset. dann kann man dir bestimt auch eine elegante lösung präsentieren.

        Ilja