06. november 2004 - 18:59Der er
7 kommentarer og 1 løsning
Problemer med udformning af where clausul
Hejsa Jeg har en tabel med brugernavne og roller i. En bruger kan have flere roller. Hvordan kan jeg så lave en where clausul, hvor jeg hiver alle de brugere ud, som fx ikke har rollen admin?
hvis man nu fx har følgende oplysninger i tabellen: brugernavn rolle arne user arne manager system user system manager system admin
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Til orientering, så virker Arnes 06/11-2004 19:06:07 kommentar glimrende: SELECT t1.username FROM tomcat_roles t1 LEFT JOIN tomcat_roles t2 ON t1.username=t2.username AND t2.role='admin' WHERE t2.username IS NULL
Jeg har ikke testet. Men umiddelbart kan jeg ikke se hvorfor ikke den subquery kunne optimeres mindst lige så godt som den anden konstruktion. Det skal godt nok være en halvfum optimizer hvis den ikke udnytter at subqueryen er konstant.
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.