Wenn Sie Tabellen zum Arbeitsbereich hinzufügen, erstellt Studio Query automatisch Joins zwischen Primärschlüsseln. Wenn es keine Primärschlüssel gibt, erstellt Query Joins zwischen Indexschlüsseln.
Allerdings verknüpfen die automatischen Joins möglicherweise nicht die entsprechenden Felder, die Sie abfragen möchten. In diesem Fall können Sie die Joins entfernen und neue hinzufügen, entweder indem Sie das Feld von einer Tabelle zur anderen ziehen und ablegen, oder indem Sie den Befehl „Verbindende Tabelle suchen“ verwenden. Die Felder sollen den gleichen Namen, gleiche Größe und gleichen Datentyp haben.
Sie können Joins zwischen Feldern hinzufügen, auch wenn sie nicht den gleichen Namen, die gleiche Größe oder den gleichen Datentyp haben. Dies sollten Sie aber nur tun, wenn Sie mit den zugrunde liegenden Daten in den Tabellen vertraut sind. Wenn die Joins nicht indexiert sind, dauert die Abfrage länger.
Query füllt die Felder der nicht übereinstimmenden Joins nicht automatisch auf.
Zusätzlich zum Erstellen von Joins in regulären Tabellen können Sie Cluster- und Pool-Tabellen sowie Views verknüpfen. Sie können eine Tabelle auch mit sich selbst verknüpfen (die zweite Tabelle wird als Alias bezeichnet).
Joins suchen
- Klicken Sie im Arbeitsbereich auf eine Tabelle.
- Klicken Sie auf der Registerkarte Arbeitsbereichauf Verbindende Tabelle suchen.
- Klicken Sie auf die Dropdown-Liste, um die Tabellen auszuwählen, die Sie verbinden möchten.
Studio zeigt eine Liste direkter Joins an.
- Wählen Sie das Kontrollkästchen für den gewünschten Join aus und klicken Sie dann auf Ausgewählte Joins anwenden.
Zwischen-Joins suchen
Wenn „Verbindende Tabelle suchen“ keine Verbindungen zwischen zwei Tabellen findet, dann können Sie eine dritte Tabelle finden und sie mit diesen zwei Tabellen verbinden (ähnlich einer Brücke). Diese Verbindungen sind Zwischen-Joins.
- Klicken Sie im Kästchen „Joins suchen“ auf Zwischen-Joins.
Studio zeigt eine Liste direkter Joins an.
- Wählen Sie das Kontrollkästchen für den gewünschten Join aus und klicken Sie dann auf Ausgewählte Joins anwenden.
Joins manuell hinzufügen
Join zwischen zwei Tabellen erstellen
- Ziehen Sie ein Feld aus einer Tabelle und legen Sie es in dem entsprechenden Feld der anderen Tabelle ab.
Alle Downloads aus zusammengeführten Tabellen erfolgen über einen Inner Join. Alle übereinstimmenden Datensätze werden heruntergeladen.
Eine Tabelle mit sich selbst verbinden
- Doppelklicken Sie auf die Schaltfläche „Zu Arbeitsbereich hinzufügen“, um die Tabelle und ihr Alias dem Abfragegenerator-Bereich hinzuzufügen. Wenn die Tabelle zum Beispiel MARA ist, ist ihr Alias MARA1.
- Zum Erstellen des Joins ziehen Sie ein Feld von der Tabelle oder dem Alias und legen es im entsprechenden Feld der Tabelle bzw. des Alias der Tabelle ab.
Alle übereinstimmenden Datensätze werden heruntergeladen.
Left Outer Joins
Mit Left Outer Joins können Daten aus einer Tabelle heruntergeladen werden, auch wenn es dafür keine übereinstimmenden Datensätze in der zweiten Tabelle gibt. Beachten Sie, dass Left Outer Joins die Abfrage verlangsamen können und mehr Ressourcen auf dem SAP-System in Anspruch nehmen.
Ein Left Outer Join hat einen Pfeil, der zur linken Tabelle zeigt.
Inner Joins in Left Outer Joins umwandeln
- Klicken Sie mit der rechten Maustaste auf den Join zwischen den Tabellen.
- Klicken Sie im Kontextmenü auf „In Left Outer Join umwandeln“.
Es wird eine Warnmeldung angezeigt, die angibt, dass die Umwandlung in einen Left Outer Join die Abfrage verlangsamen kann.
Einen Left Outer Join entfernen oder umwandeln
- Klicken Sie mit der rechten Maustaste auf den Left Outer Join.
- Klicken Sie im Kontextmenü auf „Entfernen“ oder auf „In Inner Join umwandeln“.
Bedingungen zum Erstellen von Left Outer Joins
- Bei Outer Joins werden nur Left Outer Joins unterstützt.
- Eine Abfrage kann nur einen Left Outer Join enthalten.
- Eine Abfrage kann nur 25 Tabellen enthalten.
- Die Tabelle rechts von einem Left Outer Join kann keine rechte Tabelle eines anderen Joins sein.
- Bei einem Left Outer Join zwischen zwei Tabellen ist keine andere Art von Join zwischen allen Feldern dieser Tabellen erlaubt.
- Felder der rechten Tabelle mit einem Left Outer Join können nicht für die Auswahl von Kriterien verwendet werden.
- Für Abfragen mit einem Left Outer Join, der in vorherigen Versionen von Query verändert wurde, werden möglicherweise keine korrekten Ergebnisse ausgegeben.
- Beim Erstellen neuer Inner Joins in einer Abfrage, die bereits Left Outer Joins enthält:
- Alle Eingaben müssen die Bedingungen von Left Outer Joins erfüllen.
- Beim Auswählen mancher Joins im Raster können andere Joins wegen Einschränkungen bei Left Outer Joins deaktiviert werden.
- Wenn das Automate Funktionsmodul älter als Version 10.2 ist und Sie eine Abfrage mit einem Left Outer Join ausführen, wird die Abfrage nicht ausgeführt.
Einen Join löschen
- Klicken Sie mit der rechten Maustaste auf die Join-Zeile, die gelöscht werden soll, und klicken Sie anschließend auf „Entfernen“.
Falsch zugeordnete Joins
Automate Query ermöglicht sowohl Joins zwischen indizierten und nicht indizierten Feldern als auch zwischen Feldern mit unterschiedlicher Zeichenlänge. Allerdings müssen die Informationstypen, Materialien, Zahlen, Organisationseinheiten usw. gleich sein.
Joins zwischen anderen nicht zugeordneten Feldern können zulässig sein, allerdings können keine Daten extrahiert werden. In solchen Fällen wird in Query eine Warnmeldung angezeigt, dass keine Daten über den Join heruntergeladen werden können.
Primärschlüssel-Links und Prüftabellen-Links
Ein Primärschlüssel-Join ist möglich, wenn die Primärschlüssel in den Tabellen denselben Feldnamen und dieselbe Feldgröße haben und ihr Datentyp identisch ist. Der Primärschlüssel wird mit einem Schlüsselsymbol angezeigt. Indexe werden mit einem blauen umgedrehten Schlüssel angezeigt.
Beim Verknüpfen von Primärschlüsseln werden Indexschlüssel nicht automatisch zusammengeführt
Von einem Prüftabellen-Link spricht man, wenn zwei Tabellen durch Fremdschlüsselfelder verbunden werden. In einer Tabelle werden einige Felder als Primärschlüssel einer anderen Tabelle, der so genannten Prüftabelle, zugewiesen.