06. oktober 2008 - 12:28
Der er
8 kommentarer og 1 løsning
En INNER JOIN der vil noget?
Hej alle Jeg har leget lidt med left join og inner join, og jeg skal have hentet noget data ud nu og har ingen idé om hvordan jeg gør. Jeg har en tabel med medlemmer, og et med post. I den med post er der en afsender og en modtager. Jeg skal have f.eks. skrevet følgende ud: #ID - Afsender - Modtager 224 - Peter - Christian 225 - Peter - Morten 226 - Morten - Christian Altså jeg skal have id´et på beskeden og hente navnene fra en anden tabel: Profiler - id - navn Beskeder - id - afsender (profil id) - modtager (profil id) Hvordan henter jeg så den henter afsender og modtagers id ud og udskriver navnene fra tabellen Profiler? Håber i forstår :)
Annonceindlæg fra SuperOffice
06. oktober 2008 - 12:36
#1
SELECT beskeder.id,p1.navn,p2.navn FROM beskeder INNER JOIN profiler as p1 ON beskeder.afsender=p1.id INNER JOIN profiler as p2 ON beskeder.afsender=p2.id --utestet
06. oktober 2008 - 12:37
#2
Ok - den ene "afsender" skal være "modtager"
06. oktober 2008 - 14:04
#3
Okay, men du skriver det som p1 og p2 er tabeller, men det er de jo ikke? SELECT beskeder.id, >> p1.navn,p2.navn << Er det meningen?
06. oktober 2008 - 15:02
#4
Det er bare tabellen profiler, der har fået et alias i forespørgslen. Det er nødvendigt, når den skal bruges to gange.
06. oktober 2008 - 15:10
#5
Ja okay det giver så mening. Hvilket navn er den så tildelt når den skal udskrives? Hvis jeg giver den en while($profil = mysql_fetch_array($query)) Så udskriver jeg den bare som $profil['p1'] ? Eller er jeg helt gal på den
06. oktober 2008 - 16:00
#6
SELECT beskeder.id as id,p1.navn as modtagernavn,p2.navn as afsendernavn FROM beskeder ... Du skal nok give dem navne så de kan skelnes.
06. oktober 2008 - 16:43
#7
Ja det fandt jeg ud af, for den drillede :o) Mange tak for hjælpen Erik. Smid venligst et svar, eller vil du stadigvæk ikke have point? :)
06. oktober 2008 - 18:39
#8
Nej tak.
10. november 2010 - 12:27
#9
luk
Vi tilbyder markedets bedste kurser inden for webudvikling