PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQL/MySQLi (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   2 Tabellen 2 Spalten INNER JOIN (http://www.selfphp.de/forum/showthread.php?t=17031)

Sadok 14.06.2007 11:35:28

2 Tabellen 2 Spalten INNER JOIN
 
Hallo Community,

ich habe ein grundlegends Problem bei einer Abfrage. Zwar habe ich hier im Forum schon Ähnliche Probleme gefunden, diese treffen aber nicht ganz auf mich zu, deshalb ein eigener Thread.

Ich habe zwei Tabellen, in einer Tabelle steht lediglich folgendes drin:

Tabelle 1 (teams):

TEAM_ID | Name
1 | Teamname 1
2 | Teamname 2
3 | Teamname 3
4 | Teamname 4

Tabelle 2 (games):

ID | Spieltag | Home | Away | Erg1 | Erg2
1 | 1 | 1 | 2 | |
2 | 1 | 3 | 4 | |

Dabei sind in Tabelle 1 "TEAM_ID" Primary Key und in Tabelle 2 "ID" Primary Key. "Home" und "Away" sind Foreign Keys...

Jetzt möchte ich eine Abfrage machen, die mir zu den Zahlen aus den Spalten Home und Away die zugehörigen Namen der Teams aus Tabelle 1 holt.

Das funktioniert so weit mit einem INNER JOIN und zwar gibt er mit dann das aus:

Team1
Team2
Team3
Team4

Das Problem ist, ich möchte gerne, dass die Struktur die gleiche bleibt, also das dann da steht in der Ausgabe

home | away
Team1 | Team2
Team3 | Team4

Mein JOIN der schreibt einfach alle Teams untereinander in eine Spalte, ich will aber zwei haben. Geht das bzw. ist das überhaupt notwendig? Oder muss ich die Spalten später in PHP einfach umsetzen?

Mein Join:

Code:

SELECT t.name
FROM teams t
INNER JOIN games g ON (t.TeamID = g.home) OR (t.TeamID = g.away);

Als letzte Ergänzung:
Letztendlich möchte ich später auf einer Homepage Begegnungen (Team1 vs. Team2)auflisten und dahinter soll per Formular ein Tipp abgegeben werden können, der dann wiederrum eingelesen wird und mit dem Original Spieltagergebnis verglichen werden kann.

Vielen Dank für Anregungen!!

Sadok

feuervogel 14.06.2007 14:23:01

AW: 2 Tabellen 2 Spalten INNER JOIN
 
vielleicht so?

SELECT t1.name t1name, t2.name t2name
FROM teams t1,teams t2, games g
where (t1.TeamID = g.home) AND (t2.TeamID = g.away);

Sadok 14.06.2007 17:16:24

AW: 2 Tabellen 2 Spalten INNER JOIN
 
Super!!! Es funktioniert.

Ich habe bestimmt 3 Stunden dran gesessen bzw. im Netz nach einer Lösung gesucht. Ich beschäftige mich erst seit sehr kurzem mit SQL, dafür ist das Projekt schon ziemlich groß und ich wollt schon aufgeben.

Vielen Dank!!

Sadok


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:47:05 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.