Filtern und Sortieren von Datenbankdaten
In diesem Kapitel wird erläutert, wie Sie Datenbankdaten mit Hilfe der SQL/NoSQL-WHERE/ORDER-Komponente filtern und sortieren können. Mit Hilfe dieser Komponente können Sie manuell eine WHERE-Klausel eingeben, um Daten zu filtern. Optional können Sie auch Folgendes tun:
•eine ORDER BY-Klausel definieren, um die Datensätze nach einem bestimmten Datenbankfeld in auf- oder absteigender Ordnung zu sortieren.
•das Kontrollkästchen Nur eindeutige Zeilen auswählen aktivieren, damit die Datenbank nur eindeutige Zeilen zurückgibt.
Die SQL/NoSQL-WHERE/ORDER-Komponente muss mit einer Tabelle oder einem Feld einer Quelldatenbank verbunden werden. Sie können eine WHERE ORDER-Komponente auch mit einer Join-Komponente verbinden, um die zusammengeführten Datensätze zu filtern.
Hinzufügen einer SQL/NoSQL-WHERE ORDER-Komponente
Um eine SQL/NoSQL-WHERE/ORDER-Komponente zum Mapping hinzuzufügen, gehen Sie folgendermaßen vor:
1.Wählen Sie den Symbolleisten-Befehl SQL/NoSQL-WHERE/ORDER einfügen. Wählen Sie alternativ dazu im Menü Einfügen oder aus der Komponentengalerie den Befehl SQL/NoSQL-WHERE/ORDER. Standardmäßig hat diese Komponente die folgende Struktur:
2.Verbinden Sie eine Tabelle oder ein Feld der Quelldatenbank mit dem Datenelement db-object der WHERE/ORDER-Komponente.
3.Um eine WHERE-Klausel zu definieren, doppelklicken Sie auf die Überschrift der WHERE ORDER-Komponente. Klicken Sie alternativ dazu mit der rechten Maustaste darauf und wählen Sie im Kontextmenü den Befehl Eigenschaften. Daraufhin wird das Dialogfeld SQL/NoSQL-WHERE/ORDER-Eigenschaften geöffnet. In der Abbildung unten sehen Sie die Eigenschaften der WHERE/ORDER-Komponente in MapForceExamples\DB_PhoneList.mfd.
4.Geben Sie eine WHERE-Klausel in das Textfeld oben ein. In unserem Beispiel gibt die WHERE-Klausel (Last LIKE :Name) Zeilen zurück, in denen das Feld Last mit dem durch den Parameter :Name definierten Muster übereinstimmt. Die Werte für diesen Parameter werden aus dem Mapping bereitgestellt. Fügen Sie Sie optional eine ORDER BY-Klausel hinzu. In unserem Beispiel sortiert die ORDER BY-Klausel die Last-Werte in aufsteigender Reihenfolge. Weitere Information finden Sie unter WHERE- und ORDER BY-Klauseln.
Parameter in SQL/NoSQL-WHERE/ORDER-Komponenten
Sie können in der WHERE-Klausel einer SQL/NoSQL-WHERE/ORDER-Komponente Parameter definieren. Diese sind eventuell nützlich, wenn Sie über das Mapping einen Wert an die WHERE-Klausel übergeben möchten.
In der oben gezeigten WHERE/ORDER-Komponente wurde die folgende WHERE-Klausel definiert:
Last LIKE :Name, wobei:
•Last sich auf den Namen des Datenbankfelds in der verbundenen Tabelle bezieht.
•LIKE ein SQL-Operator ist, der Musterabgleiche durchführt.
•:Name ein Parameter ist, der Werte aus dem Mapping erhält.
In MapForceExamples\DB_PhoneList.mfd sehen Sie Name als Parameter der WHERE/ORDER-Komponente (Abbildung unten).
Der an diesen Parameter übergebene Wert wird folgendermaßen konstruiert:
•Die Konstante liefert den Wert B an die einfache Input-Komponente.
•Die Funktion concat kombiniert B mit der Wildcard %.
•Der verkettete Wert (B%) wird an den Parameter Name der WHERE/ORDER-Komponente übergeben. Die WHERE-Klausel gibt daher nur Nachnamen zurück, die mit dem Buchstaben B beginnen. Die Wildcard % steht für eine beliebige Anzahl von Zeichen.
Aussehen von SQL/NoSQL-WHERE/ORDER-Komponenten
Das Aussehen von SQL/NoSQL-WHERE/ORDER-Komponenten ändert sich, je nachdem welche Einstellungen darin definiert sind (siehe Tabelle unten).
Es wurde eine WHERE-Klausel definiert. | |
![]() | Es wurde eine WHERE-Klausel mit einem Parameter sqlparameter definiert. |
![]() | Es wurde eine WHERE-Klausel mit einem Parameter und einer ORDER BY-Klausel definiert. Die Sortierreihenfolge wird durch das Sortiersymbol A-Z angezeigt. |
Wenn Sie den Mauszeiger über die Titelleiste von SQL/NoSQL-WHERE/ORDER platzieren, wird ein Tooltip mit den Klauseln angezeigt, die definiert wurden.
Beispiele
Beispiele für die Verwendung der WHERE/ORDER-Komponente finden Sie in den folgenden Mappings:
•MapForceExamples\DB_PhoneList.mfd
•MapForceExamples\ParseJSONFromDB.mfd



