Avatar billede mantichora Nybegynder
15. august 2008 - 10:10 Der er 2 kommentarer og
1 løsning

Join på sig selv?

Jeg har sikkert misset et eller andet åbenlyst, men kan ikke lige regne den ud.

Jeg har en database med:
INT id
VARCHAR username
INT created_by

Når jeg udskriver den, vil jeg gerne have den skriver username for opretteren, noget jeg normalt ville bruge en JOIN til, hvis de lå i to forskellige tabeller, men her er de i den samme.

Altså, formuleret på en anden måde, når jeg udskriver
echo $row['username'] , '  ' , $row['created_by'];
Så vil jeg gerne have at created_by er NAVNET på opretteren, ikke tallet. Hvordan ser SQL'en ud for det?
Avatar billede coderdk Praktikant
15. august 2008 - 10:30 #1
SELECT a.username, b.username AS creator_name FROM tabel AS a INNER JOIN tabel AS b ON a.created_by = b.id

Så indeholder creator_name navnet på opretteren :)
Avatar billede mantichora Nybegynder
15. august 2008 - 10:39 #2
Perfekt, tak.
Jeg går ud fra jeg kan skifte INNER JOIN til LEFT JOIN for at få Admin brugeren med, som jo ikke har nogen opretter?
Avatar billede coderdk Praktikant
15. august 2008 - 10:46 #3
Ja, det kunne du gøre :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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