Я новичок в SQL и пытаюсь получить SQL-запрос в MS Access для объединения нескольких таблиц с использованием ниже sql. Это делается для тестирования доступа.MS Access SQL Query - ошибка в соединении
объяснил, что я намерен добиться в смелой
SELECT
Table1.Role,
Table1.Object,
таблице 1 базовую таблица, которая имеет роль, объект авторизации
Table2.Role,
Table2.User_Name,
Таблица 2 имеют пользователь отображенный на должность
Table3.Org_Level_Desp,
Table3.Org_LEvel_Values_1,
Таблица 3 кнопки управления на уровне организации, это определить, какая компания или завод пользователь может получить доступ к
Table4.Role_Description,
Таблица 4 содержит описания ролей для ролей, указанных в таблице 1
Table5.Full_Name,
Table5.Department,
Таблица 5 имеет имя пользователя и отдел. Общее поле имя пользователя из таблицы 2
FROM
Table1
RIGHT JOIN Table2 ON Table1.Role=Table2.Role
RIGHT JOIN Table3 ON Table1.Role=Table3.Role
RIGHT JOIN Table4 ON Table1.Role=Table4.rOLE
Присоединения требуется представленный из таблицы 2, 3 и 4 к таблице 1
FROM
Table2
RIGHT JOIN Table5 ON Table2.USER_NAME=Table5.USer
Присоединения необходимых таблиц из таблицы 5 в таблицу 1
Я получаю множественную синтаксическую ошибку для вышеуказанного запроса. Я думаю, что мне не хватает чего-то основного - Может ли кто-нибудь помочь?
Спасибо! Удай
Кажется, я не могу добавить больше в комментарии. К сожалению, ниже приведен код, который я обновил, все еще получая ту же ошибку. Вы могли бы посоветовать ?
SELECT
TABLE1.Role,
TABLE1.Object,
TABLE1.Field_name,
TABLE1.Value,
TABLE1.[and],
TABLE1.ID_whether_object_is_deleted,
TABLE2.Role,
TABLE2.User_Name,
TABLE2.End_date,
TABLE3.Org_Level_Control,
TABLE3.Org_LEvel_Values_1,
TABLE3.Org_LEvel_Values_2,
Table4.Role_Description,
TABLE6.Field_Short_Description,
TABLE7.Object_Level_Desp,
TABLE8.Auth_Obj_Text,
TABLE5.Full_Name,
TABLE5.Department,
TABLE9.Valid_to,
TABLE9.Lock,
from ((((((TABLE1 INNER JOIN TABLE2 ON TABLE1.Role=TABLE2.Role)
INNER JOIN TABLE3 ON TABLE1.Role=TABLE3.Role)
INNER JOIN Table4 ON TABLE1.Role=Table4.role)
INNER JOIN TABLE6 ON TABLE1.Field_Name=TABLE6.Field_Name)
INNER JOIN TABLE7 ON TABLE1.[Object]=TABLE7.Org_Object)
INNER JOIN TABLE8 ON AGR_TABLE1.Field_name=TABLE8.Field_Name)
FROM
(TABLE2 INNER JOIN TABLE5 ON TABLE2.USER_NAME=TABLE5.[USer])
INNER JOIN TABLE9 ON TABLE2.USER_NAME=TABLE9.[User]);
Ниже приведен код, который я обновил, все еще получаю ту же ошибку. Вы могли бы посоветовать ?
SELECT
TABLE1.Role,
TABLE1.Object,
TABLE1.Field_name,
TABLE1.Value,
TABLE1.[and],
TABLE1.ID_whether_object_is_deleted,
TABLE2.Role,
TABLE2.User_Name,
TABLE2.End_date,
TABLE3.Org_Level_Control,
TABLE3.Org_LEvel_Values_1,
TABLE3.Org_LEvel_Values_2,
Table4.Role_Description,
TABLE6.Field_Short_Description,
TABLE7.Object_Level_Desp,
TABLE8.Auth_Obj_Text,
TABLE5.Full_Name,
TABLE5.Department,
TABLE9.Valid_to,
TABLE9.Lock,
from ((((((TABLE1 INNER JOIN TABLE2 ON TABLE1.Role=TABLE2.Role)
INNER JOIN TABLE3 ON TABLE1.Role=TABLE3.Role)
INNER JOIN Table4 ON TABLE1.Role=Table4.role)
INNER JOIN TABLE6 ON TABLE1.Field_Name=TABLE6.Field_Name)
INNER JOIN TABLE7 ON TABLE1.[Object]=TABLE7.Org_Object)
INNER JOIN TABLE8 ON AGR_TABLE1.Field_name=TABLE8.Field_Name)
Вы не можете иметь несколько «FROM» заявление. Чтобы следовать вашей логике выше, под вашим соединением к «Table4», попробуйте RIGHT JOIN Table5 ON Table2.UserName = Table5.User –
Кстати, вам нужно вставить двоеточие в конце запроса, если вы используете MS Access. –
вы отметили ms-access, попробуйте создать таблицы и используйте графический конструктор запросов для генерации вашего запроса. –