ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
3567
3567
EMPFEHLEN
-
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:
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).PHP-Code:$sql = "SELECT t1.heim, t1.auswärts, t2.id, t2.name FROM matches t1, players t2 WHERE t1.heim = t2.id";
Danke im Voraus,
bncbang
-
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
-
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.
-
12.04.07 18:19 #4
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"
-
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".
-
Ich habe es nun über zwei Abfragen geregelt. Ist sicher nicht die optimalste Lösung, aber es funktioniert.
Danke an alle, die helfen wollten.
-
13.04.07 20:38 #7
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
-
@ radhad: er hat doch schon aufgegeben
Ähnliche Themen
-
MySQL: Abfrage über zwei Tabellen ohne identische Feldnamen
Von metty im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 20.12.10, 09:41 -
MySQL: Abfrage über zwei Tabellen ohne identische Feldnamen
Von metty im Forum PHPAntworten: 1Letzter Beitrag: 17.12.10, 17:41 -
Abfrage über zwei Tabellen
Von milchkuh74 im Forum Relationale DatenbanksystemeAntworten: 12Letzter Beitrag: 09.04.08, 15:26 -
MySQL: okmplizierte Abfrage über zwei Tabellen und Sortierung nach SUM
Von Paula im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 08.09.05, 10:14 -
sql abfrage über zwei tabellen
Von boelkstoff im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 26.06.04, 17:40





Zitieren

Login





