Ich bin neu in SQL und habe versucht, eine SQL-Abfrage in MS Access zu haben, um mehrere Tabellen mit der unten stehenden SQL zu verbinden. Dies ist für den Zugriffstest.MS Access SQL Query - Fehler beim Join
haben erklärt, was ich Absicht, in fett Tabelle
SELECT
Table1.Role,
Table1.Object,
zu erreichen 1 ist die Basistabelle, die Rolle hat, Berechtigungsobjekt
Table2.Role,
Table2.User_Name,
Tabelle 2 hat der Benutzer zugeordnet zur Rolle
Tabelle 3 Kontrollen auf Organisationsebene verfügt, dies festzustellen, welche Firma oder Anlage der Benutzer
Table4.Role_Description,
Tabelle zugreifen können 4 hat Rolle Beschreibungen in der Tabelle genannten Rollen 1
Table5.Full_Name,
Table5.Department,
Tabelle 5 hat Benutzername und Abteilung. Gemeinsames Feld Benutzername aus der Tabelle 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
aus Tabelle vorgelegt erforderlich Joining 2, 3 und 4 der Tabelle 1
FROM
Table2
RIGHT JOIN Table5 ON Table2.USER_NAME=Table5.USer
Joining erforderlichen Tabellen aus Tabelle 5 Tabelle 1
Ich bekomme mehrere Syntaxfehler für die obige Abfrage. Ich glaube, ich vermisse etwas Grundlegendes - Kann mir jemand helfen?
Danke! Uday
scheint, dass ich nicht mehr in Kommentar hinzufügen können. Entschuldigung, unten ist der Code, den ich aktualisiert habe, immer noch den gleichen Fehler. Könnten Sie mir bitte einen Ratschlag geben ?
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]);
Unten ist der Code, den ich aktualisiert, immer noch die gleichen Fehler. Könnten Sie mir bitte einen Ratschlag geben ?
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)
Sie können nicht mehrere haben „FROM“ Aussagen. Um Ihrer obigen Logik zu folgen, versuchen Sie unter Ihrem Join zu "Table4" RIGHT JOIN Tabelle5 ON Table2.UserName = Table5.User –
Übrigens müssen Sie einen Doppelpunkt am Ende der Abfrage anheften, wenn Sie MS Access verwenden. –
Sie haben ms-access getaggt, versuchen Sie, die Tabellen zu erstellen, und verwenden Sie den grafischen Abfrage-Designer, um Ihre Abfrage zu generieren. –