[ERLEDIGT] Probleme bei Fußball-Spieltag-Abfrage

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!
Status
Für weitere Antworten geschlossen.

StephanBo

Mitglied
28 Januar 2012
175
0
16
Entschuldigung, dass ich es nicht genauer in der Überschrift formulieren kann. Ich weiß nämlich gerade überhaupt nicht, wie ich an die Sache weiter ran soll.

Das angefügte Bild sollte hoffentlich selbsterklärend sein. Es gibt zwei Tabellen (Matches und Teams) wie oben im Bild zu sehen. Dann kommt meine noch unvollständige SQL-Abfrage wie in der Mitte zu sehen. Darunter dann das bisherige Ergebnis der Abfrage.

Mein Problem ist nun, dass mir nur die Heimmannschaft angezeigt wird, die Auswärtsmannschaft aber nicht. Ich weiß jetzt an dieser Stelle nach stundenlangem Versuchen nicht, wie ich auch die Auswärtsmannschaft (den Namen) aus den gegebenen Datensätzen der beiden Tabellen in die SQL-Abfrage einfügen kann.

Hat hier jemand eine Idee dazu und kann den Code ergänzen oder mich auf den richtigen Weg führen? Danke schon mal.

Bisherige SQL
Code:
SELECT Matches.TeamHome, Matches.TeamAway, Teams.TeamName AS TeamNameHome
FROM Matches, Teams
WHERE Matches.TeamHome = Teams.TeamID
 

Anhänge

  • problem.jpg
    problem.jpg
    346,7 KB · Aufrufe: 5

scbawik

Senior HTML'ler
14 Juli 2011
2.552
448
83
Entschuldigung, dass ich es nicht genauer in der Überschrift formulieren kann. Ich weiß nämlich gerade überhaupt nicht, wie ich an die Sache weiter ran soll.

Das angefügte Bild sollte hoffentlich selbsterklärend sein. Es gibt zwei Tabellen (Matches und Teams) wie oben im Bild zu sehen. Dann kommt meine noch unvollständige SQL-Abfrage wie in der Mitte zu sehen. Darunter dann das bisherige Ergebnis der Abfrage.

Mein Problem ist nun, dass mir nur die Heimmannschaft angezeigt wird, die Auswärtsmannschaft aber nicht. Ich weiß jetzt an dieser Stelle nach stundenlangem Versuchen nicht, wie ich auch die Auswärtsmannschaft (den Namen) aus den gegebenen Datensätzen der beiden Tabellen in die SQL-Abfrage einfügen kann.

Hat hier jemand eine Idee dazu und kann den Code ergänzen oder mich auf den richtigen Weg führen? Danke schon mal.

Bisherige SQL
Code:
SELECT Matches.TeamHome, Matches.TeamAway, Teams.TeamName AS TeamNameHome
FROM Matches, Teams
WHERE Matches.TeamHome = Teams.TeamID

Ich glaube das könnte so funktionieren:
Code:
SELECT
  home.TeamName AS TeamNameHome,
  away.TeamName AS TeamNameAway
FROM
  Matches AS matches
LEFT JOIN
  Teams AS home ON (home.TeamID = matches.TeamHome)
LEFT JOIN
  Teams AS away ON (away.TeamID = matches.TeamAway)

Wenn nicht, poste am besten gleich einen MySQL Dump.
 
  • Like
Reaktionen: StephanBo

StephanBo

Mitglied
28 Januar 2012
175
0
16
Hat geklappt! Vielen, vielen Danke.

Habe fast 6 Stunden seit gestern damit verbracht, eine Lösung zu finden und es wollte nicht hinhauen. Alles über WHERE, JOINS, UNION bis hin zu Doppel-SELECT und noch anderes probiert. Nichts hat geholfen. Ich versuche die Abfrage jetzt mal in Ruhe zu verstehen. Danke aber wie gesagt nochmals.
 
Status
Für weitere Antworten geschlossen.
Werbung: