tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
3567
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    bnc-bang bnc-bang ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    9
    Hallo,

    ich mache gerade meine ersten Schritte mit PHP und bin eben auf ein Problem gestoßen, für das ich bisher keine Lösung gefunden habe. Es geht um Folgendes: Ich möchte aus einer Tabelle 1 einige Daten auslesen und diese mit einer Tabelle 2 verbinden.

    Tabelle 1 beinhaltet je eine ID in den Feldern: heim und auswärts
    Tabelle 2 beinhaltet die dazugehörigen Namen und eben die passende ID in den Feldern: id, name

    Die Abfrage soll nun ergeben, dass BEIDE Namen der jeweiligen ID zugeordnet werden und danach weiterverarbeitet werden können.

    Für lediglich eine id mache ich das so:

    PHP-Code:
    $sql "SELECT t1.heim, t1.auswärts, t2.id, t2.name FROM matches t1, players t2 WHERE t1.heim = t2.id"
    Für beide Bedingungen ist das so natürlich nicht möglich. Was sollte ich stattdessen nutzen? JOINs habe ich schon ausprobiert, allerdings führen auch die nicht zu dem gewünschten Ergebnis (wobei ich mir auch nicht sicher bin, ob ich sie richtig angewendet habe).

    Danke im Voraus,

    bncbang
     

  2. #2
    ali_f ali_f ist offline Mitglied Bronze
    Registriert seit
    Jan 2007
    Ort
    Hamburg
    Beiträge
    45
    Hallo.

    Ich glaube da fehlt einfach nur ein "AS" bei der Tabellenzuordnung.

    Probier mal:

    PHP-Code:
    $sql "SELECT t1.heim, t1.auswärts, t2.id, t2.name FROM matches AS t1, players AS t2 WHERE t1.heim = t2.id"
     
    MfG,
    Ali

  3. #3
    bnc-bang bnc-bang ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    9
    Die Abfrage funktioniert auch ohne AS, das ist ja auch nicht das Problem. Es geht um die zweite Zuweisung, die durch diese Abfrage nicht erreicht werden kann.
     

  4. #4
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    AS sollte benutzt werden, ist aber eigentlich optional. Führt aber meiner Meinung nach zu einer besseren Lesbarkeit.

    Code sql:
    1
    2
    3
    
    SELECT t1.heim, t1.auswaerts, t2.id, t2.name
    FROM matches AS t1
    LEFT JOIN players AS t2 ON t2.id = t1.heim

    Probier es einmal so.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  5. #5
    bnc-bang bnc-bang ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    9
    Das ist die gleiche Abfrage in anderer Form. Hier wird auch nur ein Name ausgegeben, nämlich der Name aus Tabelle 2, der die id der Zeile heim aus der Tabelle 1 hat. Es soll aber auch der zweite Name aus Tabelle 2 ausgelesen werden, der die id der Zeile auswärts in der Tabelle 1 hat.

    Um es zu verdeutlichen:

    Tabelle 1: heim = 1, auswärts = 2

    Tabelle 2: id = 1, name = blabla und id = 2, name = blub

    Nun soll für heim "blabla" angezeigt werden und für auswärts "blub".
     

  6. #6
    bnc-bang bnc-bang ist offline Rookie
    Registriert seit
    May 2005
    Beiträge
    9
    Ich habe es nun über zwei Abfragen geregelt. Ist sicher nicht die optimalste Lösung, aber es funktioniert.

    Danke an alle, die helfen wollten.
     

  7. #7
    Radhad Radhad ist offline Mitglied Diamant
    Registriert seit
    Mar 2003
    Ort
    Wuppertal (NRW)
    Beiträge
    1.917
    Blog-Einträge
    35
    Das geht doch ganz einfahc in einer Abfrage...
    Code sql:
    1
    2
    3
    4
    
    SELECT t1.heim, t1.auswaerts, t2.id, t2.name, t3.id, t3.name
    FROM matches AS t1
    LEFT JOIN players AS t2 ON t2.id = t1.heim 
    LEFT JOIN players AS t3 ON t3.id = t1.auswaerts
     
    Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x

  8. #8
    Avatar von Alex F.
    Alex F. Alex F. ist offline Mitglied Smaragd
    Registriert seit
    Jul 2004
    Beiträge
    1.034
    @ radhad: er hat doch schon aufgegeben
     

Ähnliche Themen

  1. MySQL: Abfrage über zwei Tabellen ohne identische Feldnamen
    Von metty im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 20.12.10, 09:41
  2. Antworten: 1
    Letzter Beitrag: 17.12.10, 17:41
  3. Abfrage über zwei Tabellen
    Von milchkuh74 im Forum Relationale Datenbanksysteme
    Antworten: 12
    Letzter Beitrag: 09.04.08, 15:26
  4. MySQL: okmplizierte Abfrage über zwei Tabellen und Sortierung nach SUM
    Von Paula im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 08.09.05, 10:14
  5. sql abfrage über zwei tabellen
    Von boelkstoff im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 26.06.04, 17:40