Avatar billede claus_larsen Nybegynder
27. oktober 2003 - 21:29 Der er 4 kommentarer og
1 løsning

Select problemer

Jeg er ikke en ørn til SQL men skal kort og godt have gjort følgende.

Jeg har en tabel med brugere, og en tabel hvor brugerne er registreret hvis de har specielle administrative rettigheder.

Hvis jeg vil have en liste over de brugere som har mulighed for at benytte administrationsjob 1 udvælger jeg fint nok med:

mysql_query("SELECT * FROM users,administration WHERE users.UserID = administration.UserID AND administration.AdministrativeJobID = '1'");

Det jeg vil er at udvælge alle de brugere som IKKE er listet i tabelen administration med værdien 1. Jeg mener ikke jeg BARE kan bruge '...  !=1  ...' da jeg jo så udvælger de brugere som administrerer alt andet end job 1!
Avatar billede arne_v Ekspert
27. oktober 2003 - 21:47 #1
Prøv med:

SELECT users.* FROM users LEFT JOIN administration ON (users.UserID = administration.UserID AND administration.AdministrativeJobID = '1')
WHERE administration.UserID IS NULL;
Avatar billede claus_larsen Nybegynder
27. oktober 2003 - 22:07 #2
Tak gud og skæbne!

Det virkede sgu! ;)

Kan du forklare mig hvordan det virker, bare ganske kort?
Avatar billede claus_larsen Nybegynder
27. oktober 2003 - 22:07 #3
Og lav den som svar så du kan få point for det!
Avatar billede arne_v Ekspert
27. oktober 2003 - 22:10 #4
svar
Avatar billede arne_v Ekspert
27. oktober 2003 - 22:12 #5
LEFT JOIN betyder tag alle records fra venstre tabellen og dem fra højre
tabellen hvor betingelsen i ON er opfyldt

Hvis højre tabellen ikke har noget match som bliver dens kolonner NULL
i output

Så derfor finder via via IS NULL testet de users som ikke har noget match
på ON betingelsen
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