18. december 2003 - 23:19Der er
8 kommentarer og 1 løsning
lidt hjælp med LEFT JOIN
Jeg er ved at lave en side ( i asp) hvor man kan oprette nogle grupper af bruger. jeg har 2 tabeller, den ene hvor i alle brugeren er opretet(TblUsers), og den anden hvor der så viser hvilke brugere der er i hvilke grupper(user_groups).
nu vil jeg så gerne lave en liste over alle brugere der ikke er i gruppe 1 (user_groups.user_group=1 )
jeg kan godt lave en LEFT JOIN der viser alle bruger der ikke er i tabellen user_groups, men ikke hvis det også er et krav at user_groups.user_group=1 mine tabeller er:
den LEFT JOIN jeg ikke kan få til at virke er : SELECT TblUsers.* FROM TblUsers LEFT JOIN user_groups ON TblUsers.id_on_user=user_groups.id_on_user WHERE user_groups.id_on_user IS NULL and user_groups.user_group=1
hvor i mod denne SELECT TblUsers.* FROM TblUsers LEFT JOIN user_groups ON TblUsers.id_on_user=user_groups.id_on_user WHERE user_groups.id_on_user IS NULL
viser alle der ikke er opretet i tabellen user_groups
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
SELECT TblUsers.* FROM TblUsers LEFT JOIN user_groups ON TblUsers.id_on_user=user_groups.id_on_user WHERE user_groups.id_on_user IS NULL and (user_groups.user_group=1 OR user_groups.user_group IS NULL)
Behøver = skal. id_on_user =Null og user_group = 1. Der er ikke nogle brugere som har Null som deres user ID. Så derfor finder den ikke nogle i gruppe 1.
SELECT TblUsers.* FROM TblUsers LEFT JOIN user_groups ON TblUsers.id_on_user=user_groups.id_on_user WHERE user_groups.user_group<>1 OR user_groups.user_group IS NULL
arne_v: virker næsten men hvis brugere er oprettet i user_groups.user_group=2 så kommer han ikke med selv om han ikke er op rettet som user_groups.user_group=1
eagleeye: Viser så kun den bruger der er oprettet i user_groups.user_group og hvis brugere er oprettet i user_groups.user_group=2 så vises der slet ingen
Arne_V: Så virker der: SELECT TblUsers.* FROM TblUsers LEFT JOIN user_groups ON TblUsers.id_on_user=user_groups.id_on_user WHERE user_groups.user_group<>1 OR user_groups.user_group IS NULL
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.