Avatar billede madeindk Nybegynder
18. oktober 2006 - 21:13 Der er 5 kommentarer og
1 løsning

Hjælp til Inner Join

Hej eksperter!

Kan det lade sig gøre at sortere efter en anden tabels indhold? Jeg har en liste over brugere, en venneliste - hvor jeg gerne vil ha den til at sortere efter hvilke venner der er online - men det er i en anden tabel det står om brugeren er online.

Men den skal hente det på følgende måde?
SQL = "SELECT * FROM frinds WHERE userId=" og så ID'et

Og tabellen med brugere, hedder "users"

Håber meget på i kan hjælpe mig, har ret meget brug for det :-)

Mvh
Søren
Avatar billede ffsoft Praktikant
18. oktober 2006 - 21:42 #1
Select * From Users Where userid in (Select userid From Friends)

Du laver en subselect, det kan mySQL godt hvis dn er rimelig ny,
denne select henter userid's fra de brugere der er online.
Disse userid's bliver så brugt i where delen af den yderste select.

easypasy.
Avatar billede madeindk Nybegynder
18. oktober 2006 - 21:42 #2
Du har ikke mulighed for at proppe det i noget kode?
Avatar billede ffsoft Praktikant
18. oktober 2006 - 21:42 #3
Det kan osse laves med en join.
Avatar billede madeindk Nybegynder
18. oktober 2006 - 21:44 #4
Den skal hive alle venner ud, men dem der er online skal vises i toppen og det vil de også blive hvis man sorterer mit felt "onlineStatus" DESC :-)

Forstår du?
Avatar billede ffsoft Praktikant
19. oktober 2006 - 10:07 #5
Du har to tabeller:

tblUsers som indeholder alle brugere
tblFriends som indeholder online brugere

Du vil gerne have en samlet visning fra begge tabeller hvor
resultatet fra tblFriends bliver vist først ??
Den har du jo løst med at sortere på feltet onlineStatus, men
du vil have navnene sorteret alfabetisk ??

Den tror jeg ikke kan løses med et SQL udtryk, men sagtens med
noget kode. Man kunne jo bare lave to recordset der blev vist
efter hinanden. Koden vil afhænge hvilket sprog du har frontend i??
Avatar billede madeindk Nybegynder
19. oktober 2006 - 14:14 #6
Fandt en løsning på problemet.

SQL = "SELECT * FROM friends INNER JOIN users ON Friends.FriendID = Users.ID WHERE userId= " & request.querystring("id") & " AND status = 2 ORDER BY users.onlinestatus DESC"
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