WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   koppling mellan 3 olika tabeller? (https://www.wn.se/forum/showthread.php?t=16086)

zilveer 2006-09-07 13:07

hejsan,
jag skulle vilja göra koppling mellan 3 tabeller eventuellt fler kopplingar längre fram.
dock vill jag lära mig hur man gör kopplingen mellan 3 tabeller så jag vet hur frågorna skrivs.

**tabell EVENTS
eventID, team1, team2, sport

**tabell TEAMS
teamID, name

**tabell SPORTS
sportID, name


jag vill lista alla rader i tabellen EVENTS och samtidigt hämta namnen på team1 och team2 från tabellen TEAMS, jag vill även hämta sportnamnet från tabellen SPORTS.

Tacksam för svar, mvh zilveer

Robert 2006-09-07 14:00

select * from EVENTS EV
join TEAMS TMa on EV.team1 = TMa.teamID
join TEAMS TMb on EV.team2 = TMb.teamID
join SPORTS SP on EV.sport = SP.sportID



fast det går att göra med lite varianter. Ibland är det fråga om tycke och smak, ibland religion, ibland prestanda och övriga förutsättningar i dina tabeller.

grazzy 2006-09-07 14:01

Kod:

select [fält] from events left join teams on (teams.teamid = events.team1 or teams.teamid = events.team2) left join sports on (sports.sportid = events.sport)
nåt såntdär?

edit: robert var snabbare, men med viss variation.. är både rätt måntro? :)

zilveer 2006-09-07 14:14

Citat:

Originally posted by Robert@Sep 7 2006, 14:00
select * from EVENTS EV
join TEAMS TMa on EV.team1 = TMa.teamID
join TEAMS TMb on EV.team2 = TMb.teamID
join SPORTS SP on EV.sport = SP.sportID



fast det går att göra med lite varianter. Ibland är det fråga om tycke och smak, ibland religion, ibland prestanda och övriga förutsättningar i dina tabeller.

mycket fin lösning då den bara tar namnet på teamen och sporten utan att få igenom hela tabellen.

grazzy:

din lösning funka den oxo men då gick den igenom alla rader i tabellerna

grazzy 2006-09-07 14:23

Vilken tabell fick du ALL på? teams?

Edit: nån får gärna berätta hur OR-lösningen kan skilja sig mot att köra en extra join? Inquiring minds wants to know.

zilveer 2006-09-07 14:24

Citat:

Originally posted by grazzy@Sep 7 2006, 14:23
Vilken tabell fick du ALL på? teams?
japp.. fick ALL på type


Alla tider är GMT +2. Klockan är nu 22:14.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson