Problem mit LEFT JOIN
Ich hät da gern mal ein Problem:
ich habe 2 Tabellen:
Teams:
team_id
team_name
Matches:
match_id
team1_id
team2_id
match_date
Wenn ich jetzt sage:
SELECT teams.team_name,matches.match_date FROM matches LEFT JOIN teams ON (matches.team1_id = teams.team_id OR matches.team2_id = teams.team_id)
Wenn ich nun 2 Mannschaften in der DB habe und somit ein Match (team1 - team2), dann bekomm ich zwei Datensätze ausgegeben. Die beiden sind identisch, nur die Daten der Teams sind anders.
Wie mache ich es aber, dass ich nur einen Datensatz als Ergebnis bekomme und in diesem die Infos zu beiden Teams drinsteht?
ich habe 2 Tabellen:
Teams:
team_id
team_name
Matches:
match_id
team1_id
team2_id
match_date
Wenn ich jetzt sage:
SELECT teams.team_name,matches.match_date FROM matches LEFT JOIN teams ON (matches.team1_id = teams.team_id OR matches.team2_id = teams.team_id)
Wenn ich nun 2 Mannschaften in der DB habe und somit ein Match (team1 - team2), dann bekomm ich zwei Datensätze ausgegeben. Die beiden sind identisch, nur die Daten der Teams sind anders.
Wie mache ich es aber, dass ich nur einen Datensatz als Ergebnis bekomme und in diesem die Infos zu beiden Teams drinsteht?
Hi,
also ich würde das einfach mit 2 tabellen für die beiden teams machen zb. so:
SELECT
team1.name as team1_name,
team2.name as team2_name,
matches.time
FROM
`matches` as match,
`teams` as team1,
`teams` as team2
WHERE
team1.id = matches.team1 AND
team2.id = matches.team2
mfg
Fichy
also ich würde das einfach mit 2 tabellen für die beiden teams machen zb. so:
SELECT
team1.name as team1_name,
team2.name as team2_name,
matches.time
FROM
`matches` as match,
`teams` as team1,
`teams` as team2
WHERE
team1.id = matches.team1 AND
team2.id = matches.team2
mfg
Fichy
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Fichy« (30. September 2006, 22:52)


