INNER JOIN mit 2 verschiedenen id's

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

  • INNER JOIN mit 2 verschiedenen id's

    Hallo,

    ich erstelle ein Info-Board für unsere Firmeninternen Fussball-Fans.
    Dort habe ich einen Ticker für das nächste Spiel.

    Inhalt Tabelle Spieltag:
    Verein a (id) - Verein b (id)
    Termin

    Nun möchte ich über die Verein (id) aus der Tabelle 'Spieltag' die Daten des Vereins aus Tabelle 'Vereine' ausgeben.
    Hier mal mein Query:
    PHP-Code:
    $result_next mysql_query("
              SELECT tbl_vereine.v_abk, tbl_vereine.vid, tbl_spieltag.mann_a, tbl_spieltag.mann_b, tbl_spieltag.termin, tbl_spieltag.liga
              FROM tbl_spieltag 
              INNER JOIN tbl_vereine
              WHERE tbl_spieltag.liga = '
    $myliga' AND tbl_spieltag.mann_a = tbl_vereine.vid AND tbl_spieltag.mann_b = ?????
              ORDER BY tbl_spieltag.termin DESC LIMIT 1"
    ,$db); 
    Mein Problem ist nun dass ich aus der Tabelle 'Vereine' 2 verschiedene id's auslesen muss um später 'Verein a spielt gegen Verein b' ausgeben zu können. Wie ermittle ich die id von Verein b (oben tbl_spieltag.mann_b)???

    Danke für eure Hilfe

  • #2
    Du willst doch 2 Vereine auslesen? Demnach brauchst du auch zwei JOINs.

    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
      Wie deffinier ich 2 Join's in einer SELECT Abfrage??
      Hab ich nen Denkfehler?

      Danke

      Kommentar


      • #4
        Du kannst dieselbe Tabelle mehrfach joinen, wenn du aliase benutzt.

        Außerdem solltest du die Verknüpfung der Tabellen in der ON - Condition des Joins unterbringen anstatt im WHERE.
        ich glaube

        Kommentar


        • #5
          In dem du zwei JOINS hinschreibst?
          Code:
          SELECT ... FROM tbl_spieltag
          JOIN tbl_verein ON tbl_spieltag.mann_a = tbl_vereine.vid
          JOIN tbl_verein ON tbl_spieltag.mann_b = tbl_vereine.vid
          WHERE tbl_spieltag.liga = '$myliga'
          ORDER BY tbl_spieltag.termin DESC LIMIT 1
          Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

          Kommentar


          • #6
            Danke für eure Antworten!!!

            Der Hinweis von ministry hat funktioniert, danke.
            Für die Ausgabe MUSSTE ich 'aliase' deffinieren!

            Mein Query:
            PHP-Code:
            $result_next mysql_query("
                      SELECT tbl_spieltag.*, b1.v_abk AS mann_a, b2.v_abk AS mann_b
                      FROM tbl_spieltag 
                      INNER JOIN tbl_vereine AS b1 ON (b1.vid = tbl_spieltag.mann_a)
                      INNER JOIN tbl_vereine AS b2 ON (b2.vid = tbl_spieltag.mann_b) 
                      WHERE tbl_spieltag.liga = '
            $myliga' AND tbl_spieltag.termin > '$heute'
                      ORDER BY tbl_spieltag.termin ASC LIMIT 1"
            ,$db); 

            Meine Ausgabe:
            PHP-Code:
            echo "".$daten_next['mann_a']." - ".$daten_next['mann_b']."<br>
            "
            .$daten_next['termin']."<br>"
            ergibt:
            TG Stein - SV Bilfingen
            07-11-22 14:00 Uhr

            -----------------------------------------------------------

            Einfach ein super Forum mit echt guten Leuten!!!

            Kommentar

            Lädt...
            X