2 Anfragen an 1 Tabelle

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

  • 2 Anfragen an 1 Tabelle

    Hi,

    sitze gerade echt auf der Leitung.

    Habe 2 Tabellen.

    tblSpielpaarungen
    SpielID
    HeimTeamID
    GastTeamID


    tblTeams
    TeamID
    TeamName

    Nun möchte ich natürlich die jeweiligen Spielpaarungen, also TeamNamen angezeigt bekommen. Normalerweise nehme ich einen INNER JOIN dafür.

    PHP-Code:
    SELECT tblSpielpaarungen.HeimTeamID,tblSpielpaarungen.GastTeamIDtblTeams.TeamName 
    FROM tblSpielpaarungen 
    INNER JOIN tblTeams 
    ON tblTeams
    .TeamID=tblSpielpaarungen.HeimTeamID 
    Damit habe ich den Namen des HeimTeams, wie bekomme ich aber direkt auch den Namen der Gastmannschaft? Jemand einen Tip?

  • #2
    Re: 2 Anfragen an 1 Tabelle

    noch nen JOIN

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Hi,

      habe ich versucht, also direkt hinten drangehängt aber da kam eine Fehlermeldung

      Not unique table/alias: 'tblTeams'

      habe im Intenet nachgeschaut und da steht was von das Tabellen gespeert werden wenn drauf zugeriffen wird. Liegt das daran?

      Kommentar


      • #4
        Nein, an dem, was da steht: Der Alias ist im Statement nicht eindeutig.
        Also vergebe eindeutige Aliase.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Aber wie? das geht:

          PHP-Code:
          SELECT tblSpielpaarungen.HeimTeamID,tblSpielpaarungen.GastTeamIDtblTeams.TeamName 
          FROM tblSpielpaarungen 
          INNER JOIN tblTeams 
          ON tblTeams
          .TeamID=tblSpielpaarungen.HeimTeamID 


          Das mit dem 2. INNER Join auf die selbe Tabelle geht nicht:

          PHP-Code:
          SELECT tblSpielpaarungen.HeimTeamID,tblSpielpaarungen.GastTeamIDtblTeams.TeamName 
          FROM tblSpielpaarungen 
          INNER JOIN tblTeams 
          ON tblTeams
          .TeamID=tblSpielpaarungen.HeimTeamID
          INNER JOIN tblTeams 
          ON tblTeams
          .TeamID=tblSpielpaarungen.GastTeamID 
          Tja, was kann da falsch sein?

          Kommentar


          • #6
            Original geschrieben von Luka
            Tja, was kann da falsch sein?
            Immer noch das gleiche - du hast für die zweite Verwendung der selben Tabelle immer noch keinen eindeutigen Alias vergeben.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Ich glaube jetzt bin ich auch noch blind. Meinst Du etwa ich muss was bei "INNER JOIN tblTeams" ändern? Sonst verstehe ich das wirklich nicht. Was übersehe ich hier denn?

              Kommentar


              • #8
                Du willst zwei mal (nacheinander) Daten aus ein und der selben Tabelle lesen lassen. Damit das geht, müssen sie aber wie zwei verschiedene Tabellen behandelt werden.
                Also musst du ihnen unterschiedliche Aliase vergeben.
                Und wenn dir der Begriff nichts sagt - dann lese ihn bitte endlich im Manual nach ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Jo, ich glaube ich versteh jetzt und es kommt auch keine Fehlermeldung mehr. Jetzt habert es aber an der Ausgabe.



                  PHP-Code:
                  while ($Spielemysql_fetch_array($select))
                  {
                  echo 
                  $Spiele['TeamName'].'-'.$Spiele['TeamName'].'<br/>';
                  }        } 
                  Das geht natürlich nicht, aber wie bekomme ich den 2. Wert?

                  Vielen Dank schonmal für die Tips.

                  Kommentar


                  • #10
                    indem du auch den Spalten unterschiedliche Aliase gibts
                    SELECT a.id a_id, b.id b_id
                    $row = mysql_fetch_assoc();
                    echo $row['a_id'] . ' - ' . $row['b_id']

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      Ok, Spaltenalias ist mal ein Stichwort. Ich werde das morgen mal ausprobieren, bin jetzt einfach zu müde.

                      Vielen,vielen Dank für Eure Hilfe, damit schaffe ich es hoffentlich.

                      Kommentar

                      Lädt...
                      X