mit mysql-alias rechnen

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

  • mit mysql-alias rechnen

    hallo,

    bin mysql newbie. wie kann ich bei u.a. mysql-select die aliase zur weiteren berechnung benutzen?
    also ich möchte hier z.b. 'Punkte' durch 'Spiele' dividieren um die punkte pro spiel zu erhalten.

    Code:
    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
    gruß
    douse29

  • #2
    wenn der Rest deiner Abfrage das tut, was er soll ...
    Zitat von douse29 Beitrag anzeigen
    hallo,

    Code:
    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 , [B]Punkte/Spiele as punte_pro_spiel[/B]
    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
    gruß
    douse29
    da musst du die "nur" noch beim SELECT mit aufführen
    [font=Verdana]
    Wer LESEN kann, ist klar im Vorteil!
    [/font]

    Kommentar


    • #3
      danke für die antwort, aber dann bekomme ich diese fehlermeldung:

      #1054 - Unknown column 'Punkte' in 'field list'

      die ist mir bei meinen eigenen versuchen auch schon div. male begegnet

      Kommentar


      • #4
        Entweder ein Sub-Select machen oder mit Variablen arbeiten.

        Kommentar


        • #5
          hast du da mal ein beispiel?
          wie gesagt, ich bin noch in der lernphase

          Kommentar


          • #6
            Code:
            SELECT s.foo / s.bar
            FROM (
                SELECT 1 AS foo, 2 AS bar
            ) AS s

            Kommentar


            • #7
              bahnhof! ... aber danke für deinen versuch.

              Kommentar


              • #8
                hat einer noch einen lösungsvorschlag für mich?
                komme leider nicht weiter ...

                Kommentar


                • #9
                  Du hast bereits einen bekommen.

                  Wenn du den nicht verstehst - dann informiere dich über die Bedeutung der gezeigten Syntax, oder frage nach!

                  Nur mit „Bahnhof!“ zu antworten, ist ja wohl eine der ...sten denkbaren Reaktionen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    @wahsaga

                    ooohhh ... tschuldigung!
                    mir war nicht bewusst das der begriff 'bahnhof' hier einer detaillierten erläuterung bedarf.

                    nagut, dann hier mal ein versuch:
                    ich bin, wie bereits eingangs erwähnt NEWBIE und habe nicht wirklich viel ahnung was mysql betrifft, anderenfalls hätte ich vermutlich nicht hier in das forum tippern müssen
                    'bahnhof' heisst: ich hab davon NICHTS verstanden und absolut keinen plan wie ich das in meinen konkreten fall anwenden kann, das ist möglicherweise traurig, aber es ist leider nunmal so und ich werde das die nächsten 2-6 wochen nicht ändern können

                    ich kann mir jetzt ein mysql-buch kaufen, was ich eh vorhabe um nicht immer der dummfragende newbie zu bleiben, oder aber ich tipper mal hier ins forum mit der hoffnung jemand hilft mir ... ich habe mich dreisterweise für letzteres entschieden.

                    deshalb nochmal die frage: kann mir zu meiner o.a. problematik nochmal einer etwas auf die sprünge helfen ? am besten ganz konkret ?

                    Kommentar


                    • #11
                      Zitat von douse29 Beitrag anzeigen
                      'bahnhof' heisst: ich hab davon NICHTS verstanden und absolut keinen plan wie ich das in meinen konkreten fall anwenden kann
                      Evtl. kannst du es auch als Jobangebot einstellen. Ich schätze mal, mit 30,-€ bist du dabei, wenn du selbst nicht tiefer in die Materie einsteigen willst.
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        Zitat von AmicaNoctis Beitrag anzeigen
                        Evtl. kannst du es auch als Jobangebot einstellen. Ich schätze mal, mit 30,-€ bist du dabei, wenn du selbst nicht tiefer in die Materie einsteigen willst.
                        achso, ich dachte das wäre hier ein hilfs-forum ...
                        na dann bin ich hier natürlich falsch!

                        dann werde ich die berechnung und sortierung mit php machen,
                        denn da benötige ich keine hilfe und brauche mich nicht dieser moderation auszusetzen,
                        welche augenscheinlich den thread maximal überflogen hat, um dann eine unqualifizierte, sinnfreie
                        und dazu noch extrem überhebliche antwort zu erhalten.

                        und ich dachte: fragst du mal paar nette leute ob sie dir bei deinem problem helfen können,
                        dann mach ich die berechnung + sortierung gleich komplett mit mysql, aber da habe ich mich wohl getäuscht!

                        Kommentar

                        Lädt...
                        X