Ich habe Probleme beim Verknüpfen von drei Tabellen. Es funktioniert gut, wenn ich dieselbe Abfrage zum Verknüpfen von zwei Tabellen verwende (nach dem Entfernen von ). Es funktioniert jedoch nicht, wenn ich drei Tabellen verwende.

Dies ist meine Abfrage

SELECT A.Name, B.Quantity, C.Quantity FROM A LEFT OUTER JOIN B ON A.ID = B.ID LEFT OUTER JOIN C ON B.No = C.No; 

Kommentare

  • Wenn Sie Ihre Joins mit der Entwurfsansicht des Access-Abfrage-Designers einrichten, werden die Klammern hinzugefügt, die Access benötigt, wenn die FROM -Klausel enthält mehr als einen Join.

Antwort

MS-Access ist ziemlich wählerisch, wie es will die zu bildenden Verbindungen. Fügen Sie Klammern hinzu:

SELECT A.Name, B.Quantity, C.Quantity FROM ( A LEFT OUTER JOIN B ON A.ID = B.ID ) LEFT OUTER JOIN C ON B.No = C.No ; 

Die Standard-SQL-Syntax – und die meisten anderen DBMS – benötigen keine Klammern in FROM Klausel, obwohl Sie sie aus Gründen der Übersichtlichkeit verwenden dürfen.

Kommentare

  • Vielen Dank für Ihre Antwort. Es funktionierte! Ich danke dir sehr. Ich wusste, dass meine Anfrage richtig war, habe nur die Klammer verpasst. Noch einmal vielen Dank. Gott segne! 🙂
  • Die meisten anderen DBMS benötigen diese nicht (und das zu Recht).
  • Ja. ' Ich benutze MS Access zum ersten Mal. Ich ' bin nur so an SQL Server gewöhnt!
  • @deppz: Sie wissen, dass es eine SQL Server Express Edition gibt? (Nicht mit den vollen Funktionen der höheren Editionen, aber es kann Ihren Anforderungen entsprechen.)
  • Ja, das habe ich zuvor ' verwendet. Für diese spezielle Aufgabe musste ich nur MS Access verwenden. Vielen Dank für Ihren Vorschlag.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.