Avatar billede trayzor Nybegynder
31. juli 2002 - 12:35 Der er 4 kommentarer og
1 løsning

Join problem

Jeg har to tabeller:

1. En med holdoplysninger:
id, holdnavn, logo

2. En med alle kampe der skal spilles:
id, team1, team2, tidspunkt

team1 og team2 indeholder et id fra tabel1.

Problemet ligger i at jeg skal kunne hente:
holdid og holdnavn for begge hold i en query.

Mvh.
Michael / TrAyZoR
Avatar billede tmceu Praktikant
31. juli 2002 - 13:07 #1
Brug en OUTER JOIN, eks.

SELECT * FROM Kampe K
LEFT OUTER JOIN Hold H ON K.team1=H.ID
LEFT OUTER JOIN Hold H2 ON K.team2=H2.ID
Avatar billede trayzor Nybegynder
31. juli 2002 - 16:54 #2
SELECT * FROM VdgMatch M
LEFT JOIN VdgTeams T ON M.team1=T.id
LEFT JOIN VdgTeams T2 ON M.team2=T2.id;

Min query ser sådan ud og den virker også fint.
Men hvordan kan jeg hente f.eks. navnet på team2 ud i min while() løkke?

Det jegvil er at have kontrol over hvilket holdnavn jeg henter med $row['teamName']... Det kan jo i teorien både være team1 og team2.
Avatar billede tmceu Praktikant
31. juli 2002 - 19:58 #3
Du bruger alias, eks.

SELECT M.id AS MatchID, team1, team2, tidspunkt, T.holdnavn AS Hold1, T2.holdnavn AS Hold2 FROM VdgMatch M
LEFT JOIN VdgTeams T ON M.team1=T.id
LEFT JOIN VdgTeams T2 ON M.team2=T2.id;

Resten kan du nok selv sætte på :-)
Avatar billede trayzor Nybegynder
31. juli 2002 - 21:42 #4
SELECT M.id AS MatchID, team1, team2, matchTime, T.teamName AS team1, T2.teamName AS team2 FROM VdgMatch M
LEFT JOIN VdgTeams T ON M.team1=T.id
LEFT JOIN VdgTeams T2 ON M.team2=T2.id;

Sådan blev den endelige query.

Takker!
Avatar billede tmceu Praktikant
31. juli 2002 - 22:32 #5
Det var så lidt :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester