Announcement

Collapse
No announcement yet.

LEFT OUTER JOIN mit 4 Accesstabellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • LEFT OUTER JOIN mit 4 Accesstabellen

    Hallo,
    ich habe 4 Tabellen in einer Access-Datenbank und möchte eine Ergebnismenge über alle Felder dieser 4 Tabellen für einen Excel-Export. Tabelle A ist die Haupttabelle. Diese hat 2 Detailtabellen B1 und B2. B1 hat selbst eine Detailtabelle C. Es kann passieren, dass es keinen Datensatz von B2 für A gibt, trotzdem soll A exportiert werden.
    Eine Query
    Select * from A, B1, B2, C where A.ID=B1.ID and A.ID=B2.ID and B2.ID = C.Id führt deshalb nicht zum Ziel. (Es fehlen die Datensätze, in denen B2 leer ist).

    Bei der Query
    select * from A, B1, B2, C, A LEFT OUTER JOIN B2 ON (A.ID=B2.ID)
    LEFT OUTER JOIN (B1 LEFT OUTER JOIN C ON (B1.ID = C.ID) ON A.ID = B1.ID
    bekomme ich immer den Fehler: Syntax Error (missing operator) in query expression '...'

    Wie muss der SQL-String aussehen?
    Danke
    Stefan

  • #2
    Für Access empfielt sich folgende Vorgehensweise, wenn man Querys zusammenbaut:

    Stelle in Access mit Hilfe der dortigen Tools eine gültige Abfrage zusammen und kopiere den SQL-Text in dein Programm. Entferne noch alle unnötigen []-Klammern und überprüfe, ob alle Spalte der Abfrage eindeutige Spaltennamen haben (Über ADO/ODBC können sonst solche Abfragen nicht ausgeführt werden

    Comment


    • #3
      Hallo Stefan,

      versuch die verschachtelte left outer join-Abfrage mal so: select * from ((A LEFT OUTER JOIN B2 ON (A.ID=B2.ID)) LEFT OUTER JOIN B1 ON A.ID = B1.ID) LEFT OUTER JOIN C ON (B1.ID = C.ID)

      Gruß Fal
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Hallo Bernhard, hallo Falk,

        danke für eure Tipps. Jetzt funktioniert's.

        Gruß Stefa

        Comment

        Working...
        X