У меня есть следующий запрос, который производит вывод ниже;
SELECT
TBLUSERS.USERID,
TBLUSERS.ADusername,
TBLACCESSLEVELS.ACCESSLEVELID,
TBLACCESSLEVELS.AccessLevelName
FROM
TBLACCESSLEVELS INNER JOIN
TBLACCESSRIGHTS ON TBLACCESSLEVELS.ACCESSLEVELID = TBLACCESSRIGHTS.ACCESSLEVELID INNER JOIN
TBLUSERS ON TBLACCESSRIGHTS.USERID = TBLUSERS.USERID
Вывод такой;
29 administrator 1 AllUsers
29 administrator 2 JobQueue
29 administrator 3 Telephone Directory Admin
29 administrator 4 Jobqueueadmin
29 administrator 5 UserAdmin
29 administrator 6 Product System
27 alan 1 AllUsers
97 andy 1 AllUsers
26 barry 1 AllUsers
26 barry 2 JobQueue
26 barry 3 Telephone Directory Admin
26 barry 4 Jobqueueadmin
26 barry 5 UserAdmin
26 barry 6 Product System
26 barry 7 Newseditor
26 barry 8 GreetingBoard
Что я хотел бы сделать, так это изменить запрос, чтобы я получил все уровни доступа независимо от того, есть ли запись для этого пользователя. Я также хотел бы сделать что-то вроде существующего случая, чтобы получить вывод, подобный следующему;
29 administrator 1 AllUsers True
29 administrator 2 JobQueue True
29 administrator 3 Telephone Directory Admin True
29 administrator 4 Jobqueueadmin True
29 administrator 5 UserAdmin True
29 administrator 6 Product System True
29 administrator 7 Newseditor False
29 administrator 8 GreetingBoard False
27 alan 1 AllUsers True
27 alan 2 JobQueue False
27 alan 3 Telephone Directory Admin False
27 alan 4 Jobqueueadmin False
27 alan 5 UserAdmin False
27 alan 6 Product System False
27 alan 7 Newseditor False
27 alan 8 GreetingBoard False
97 andy 1 AllUsers True
97 andy 2 JobQueue False
97 andy 3 Telephone Directory Admin False
97 andy 4 Jobqueueadmin False
97 andy 5 UserAdmin False
97 andy 6 Product System False
97 andy 7 Newseditor False
97 andy 8 GreetingBoard False
26 Barry 1 AllUsers True
26 Barry 2 JobQueue True
26 Barry 3 Telephone Directory Admin True
26 Barry 4 Jobqueueadmin True
26 Barry 5 UserAdmin True
26 Barry 6 Product System True
26 Barry 7 Newseditor True
26 Barry 8 GreetingBoard True
Таким образом, правила ВСЕГДА показывают ВСЕ записи для ACCESSLEVELS и где EXISTS в ACCESSRIGHTS выдают true / false, чтобы показать это.
Надеюсь, это имеет смысл, и, надеюсь, вам не нужны определения таблиц, поскольку все, с чем мне нужно работать, находится в исходном Query. Мне просто нужен способ немного манипулировать им и получить соединение в нужном месте.
Спасибо.
Pace