Ja, jag vet inte om rubriken är helt korrekt men detta är iaf mitt problem:
Queryn i sin nuvarande form ser ut så här:
SQL-fråga: SELECT g.Id, g.GroupId, g.ClassId, g.TeamA_Id, g.TeamB_Id FROM Game g WHERE g.CupId = '1' LIMIT 0, 30 ;
Id GroupId ClassId TeamA_Id TeamB_Id
1 1 1 3 4
2 6 6 18 19
Detta representerar två "matcher". I en annan tabell, Team, har jag ID, namn osv. för varje lag som deltar, och skulle nu vilja hämta lagnamnet istället för enbart ID... men hur gör jag det?
Säg att lag-ID 3 har namnet "Lag 1" i den andra tabellen, då vill jag skriva ut följande:
Id GroupId ClassId TeamA_Id TeamB_Id
1 1 1 Lag 1 Lag 2
2 6 6 Lag 3 Lag 4
Får ut t.ex TeamA_Id's lagnamn genom en join, men hur gör man när det är två olika värden?
Du kanske får ändra fältnamnen, men det förstår du nog. Antar jag. :)
SELECT g.Id, g.GroupId, g.ClassId, team1.name, team2.name
FROM Game g
INNER JOIN Team team1
ON g.TeamA_ID = team1.id
INNER JOIN Team team2
ON g.TeamB_ID = team2.id
WHERE g.CupId = '1'
LIMIT 0, 30 ;
Tack @nders, löste också problemet själv, men för kunskapens skull är det bra med utförliga lösningar... ;)
Så här gjorde iaf jag, innerjoinade med en join:
SELECT g.Id, g.GroupId, g.ClassId, t.TeamName, t2.TeamName
FROM Game g INNER JOIN Team t ON g.TeamA_Id = t.Id JOIN Team t2 ON g.TeamB_Id = t2.Id
WHERE g.CupId = '1'
134 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe