Office: JOIN einzelnen Datensatz unter Kriterien ohne ServerBackend

Helfe beim Thema JOIN einzelnen Datensatz unter Kriterien ohne ServerBackend in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen. Ich bin noch relativ neu in der Access-Welt und daher vielleicht etwas unbeholfen. Ich komme eigentlich aus der Web-Entwicklung und... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von schmidex, 9. Oktober 2020.

  1. JOIN einzelnen Datensatz unter Kriterien ohne ServerBackend


    Hallo zusammen.
    Ich bin noch relativ neu in der Access-Welt und daher vielleicht etwas unbeholfen. Ich komme eigentlich aus der Web-Entwicklung und habe dort schon diverse Erfahrungen mit Datenbanken und SQL gemacht.

    Zur Verfügung habe ich leider nur MS Access ohne "echtes" Backend (kein SQL Server o.Ä.). Leider musste ich feststellen, dass die Abfrage Möglichkeiten durch SQL hier an einigen Stellen doch recht stark "beschnitten" sind.

    Vorhaben:
    Mittels eines JOINs möchte ich zwei Tabellen verbinden, dabei allerdings immer nur einen Datensatz anbinden, der jeweils gewissen Kriterien erfüllt:

    Mein Problem möchte ich anhand einer stark vereinfachten Beispieltabelle darstellen. In wirklichkeit habe ich natürlich weit mehr Felder und Datensätze:

    tblBenutzer:

    JOIN einzelnen Datensatz unter Kriterien ohne ServerBackend benutzer.png


    tblImmobilien:

    JOIN einzelnen Datensatz unter Kriterien ohne ServerBackend immobilien.png


    Ziel:
    Alle Benutzer zusammen mit ihrer "neusten" (höchste ID) Immobilie vom Typ "Haus".

    Mein kläglicher Versuch:
    Code:
    Resultiert in einem "JOIN-Ausdruck nicht unterstützt" Error. Die Subquery direkt in die ON-Condition des JOINs zu setzen führt zu einem "Syntax-Fehler".
    Die einzige, (halbwegs) funktionierende Lösung, die ich hinbekommen habe: Für jedes Feld (Straße, Hausnummer, PLZ, Ort) eine eigene Subquery. Das ist allerdings performancetechnisch fürchterlich, und zudem würde ich dann auch "unvollständige" Datensätze von Benutzern ohne "Haus" bekommen.


    Ich habe diverse Lösungen für msSQL-Server, PostgreSQL, Oracle etc. gefunden. Diese funktionieren nur alle mit der Access-DB-Engine nicht.
    Ist mein Vorhaben wirklich nicht möglich? Was wäre ein empfehlenswertes, angepasstes Datenlayout?

    Ich bin für jede Unterstützung dankbar.

    :)
     
    schmidex, 9. Oktober 2020
    #1
  2. Code:
    Das ist die eigentliche Berechnung.

    Für die weiteren Immobilienfelder wird diese Abfrage mit der tblimmobilien über die beiden Felder verknüpft (JOIN).

    Da vmtl. nicht jeder Benutzer eine Immobilie hat, wird dann das genannte Gebilde per OUTER JOIN mit der tblBenutzer verknüpft.

    Das Ganze ist einfach und schnell und sehr sicher genau so auch in den anderen genannten Datenbanken umsetzbar bis recht sinnvoll.
     
  3. Code:
    Probier so, ist jetzt allerdings einfach nur zusammengeklickt
     
    fredfred, 11. Oktober 2020
    #3
  4. JOIN einzelnen Datensatz unter Kriterien ohne ServerBackend

    Zunächst einmal möchte ich mich ganz herzlich für die mega schnell und kompetente Unterstützung bedanken!
    Grundsätzlich kann ich nach einiger Analyse die Query von fredfred auch nachvollziehen.

    Handelt es sich bei der Umsetzung von fredfred um den von dir beschriebenen Ansatz?
    Wie hier ein OUTER JOIN funktionieren soll, verstehe ich nämlich noch nicht ganz.

    Besten Dank und schönen Sonntag
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    schmidex, 11. Oktober 2020
    #4
  5. Der Ansatz ist etwa der gleiche. Ebs nimmt die BenutzerID noch mit dazu, um den outer-join bilden zu können.

    Code:
     
    fredfred, 11. Oktober 2020
    #5
  6. Super vielen Dank. Das kann ich nachvollziehen und habe anhand eurer beiden Beispiele einiges gelernt.
    Nochmals vielen Dank.
     
    schmidex, 12. Oktober 2020
    #6
Thema:

JOIN einzelnen Datensatz unter Kriterien ohne ServerBackend

Die Seite wird geladen...
  1. JOIN einzelnen Datensatz unter Kriterien ohne ServerBackend - Similar Threads - JOIN einzelnen Datensatz

  2. Abfrage mit LEFT JOIN

    in Microsoft Access Hilfe
    Abfrage mit LEFT JOIN: Hallo, ich habe da ein kleines Problem und bin mittlerweile am verzweifeln. Folgender Sachverhalt: Ich habe eine Tabelle "Ausschuss", in der es die Spalten "ID", "Name", "Status" und "BA" (ein...
  3. Sql Delete Left Join

    in Microsoft Access Hilfe
    Sql Delete Left Join: Moin, ich versuche Löschaktion zu führen in HT die keine Daten in UT haben, leider erfolglos. Code: DELETE tabATupdate.* FROM tabATupdate LEFT JOIN tabUnATupdate ON tabATupdate.UpID =...
  4. JOIN Ausdruck nicht unterstützt

    in Microsoft Access Hilfe
    JOIN Ausdruck nicht unterstützt: Moin zusammen. Ich brauche mal einen Denkanstoss: Zu einer Artikeltabelle gibt es eine Tabelle mit historisierten Preisen. Ich brauche eine Abfrage, die mir zu jedem Artikel den zur Zeit gültigen...
  5. INNER JOIN-Vorgang

    in Microsoft Access Tutorials
    INNER JOIN-Vorgang: INNER JOIN-Vorgang Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  6. LEFT JOIN- und RIGHT JOIN-Vorgang

    in Microsoft Access Tutorials
    LEFT JOIN- und RIGHT JOIN-Vorgang: LEFT JOIN- und RIGHT JOIN-Vorgang Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  7. Join-Funktion

    in Microsoft Access Tutorials
    Join-Funktion: Join-Funktion Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  8. Frage zu max Werten in Inner Join

    in Microsoft Access Hilfe
    Frage zu max Werten in Inner Join: Hallo zusammen ich möchte aus zwei verschiedenen Tabellen einer Datenbank jeweils den letzten (neuesten) Wert zusammen in einer Abfrage als gesamt Ergebnis Bisher löse ich das so, bekomme aber...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden