Filtern und Sortieren von Datenbankdaten (SQL WHERE/ORDER)

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Datenquellen und -ziele > Datenbanken und MapForce >

Filtern und Sortieren von Datenbankdaten (SQL WHERE/ORDER)

Um Datenbankdaten zu filtern und zu sortieren, verwenden Sie eine SQL WHERE/ORDER-Komponente. Auf diese Art können Sie über die grafische Benutzeroberfläche von MapForce manuell eine SQL WHERE-Klausel eingeben, die die Daten filtert. Optional dazu können Sie auch eine ORDER BY-Klausel definieren, wenn Sie die Datensätze nach einem bestimmten Datenbankfeld in auf- oder absteigender Ordnung sortieren möchten.

 

Die SQL WHERE/ORDER-Komponente muss mit einer Tabelle oder einem Feld einer Datenbankmapping-Komponente verbunden werden. Sie können die SQL WHERE/ORDER-Komponente auch mit einer Join-Komponente verbinden, wenn die verknüpfte Gruppe bzw. die verknüpften Datensätze gefiltert werden sollen  (siehe Verknüpfen von Datenbankdaten mittels Join).

 

 

Hinzufügen einer SQL WHERE/ORDER-Komponente zum Mapping

1.Klicken Sie im Menü Einfügen auf SQL WHERE/ORDER. Standardmäßig hat die SQL WHERE/ORDER-Komponente die folgende Struktur:

mf_sql-where

2.Verbinden Sie eine Tabelle oder ein Feld der Quelldatenbank mit dem Datenelement table/field der SQL WHERE/ORDER-Komponente. Ein Beispiel dazu finden Sie im Mapping DB_PhoneList.mfd aus dem Ordner <Dokumente>\Altova\MapForce2019\MapForceExamples\. In diesem Mapping werden mit Hilfe der SQL WHERE/ORDER-Komponente alle Datensätze aus der Quelltabelle "Person" gefiltert, deren Nachname (Last) mit dem Buchstaben  "B" beginnt.

mf_sql-where1

3.Doppelklicken Sie auf die Titelleiste der SQL WHERE/ORDER-Komponente (oder klicken Sie mit der rechten Maustaste auf die Komponente und wählen Sie im Kontextmenü den Befehl Eigenschaften). Daraufhin wird das Dialogfeld "SQL WHERE/ORDER-Eigenschaften" geöffnet.

mf_sql-where2

4.Geben Sie die SQL WHERE-Klausel in das Textfeld oben ein. Geben Sie optional dazu die ORDER BY-Klausel ein. In der Abbildung oben sehen Sie die im Mapping DB_PhoneList.mfd definierte WHERE- und ORDER BY-Klausel (dieses Einstellungen werden weiter unten beschrieben). Weitere Beispiele finden Sie unter Erstellen von WHERE- und ORDER BY-Klauseln.

 

Definieren von Parametern für eine SQL WHERE/ORDER-Klausel

In der SQL WHERE/ORDER-Komponente aus dem Mapping DB_PhoneList.mfd ist die folgende WHERE-Klausel definiert:

 

Last LIKE :Name

 

"Last" bezieht sich auf den Namen des Datenbankfelds in der verbundenen Tabelle. "LIKE" ist ein SQL-Operator. ":Name" erstellt im Mapping einen Parameter namens "Name".

 

Parameter in SQL WHERE/ORDER-Komponenten sind optional; Sie sind nützlich, wenn Sie über das Mapping einen Wert an die WHERE-Klausel übergeben möchten. Ohne Parameter hätte die obige WHERE-Klausel folgendermaßen gelautet:

 

Last LIKE "B%"

 

Damit würden alle Personen, deren Nachname mit dem Buchstaben "B" beginnt, abgerufen. Um diese Abfrage noch flexibler zu gestalten, haben wir anstelle von "B%" einen Parameter hinzugefügt. Dadurch kann auch jeder andere Buchstabe aus dem Mapping bereitgestellt werden (z.B. "C", um einfach durch Änderung einer Konstante oder eines Mapping-Input-Parameters Personen, deren Nachname mit "C" beginnt, abzurufen).

 

Aussehen von SQL WHERE/ORDER-Komponenten

Beachten Sie bei SQL WHERE/ORDER-Komponenten, dass sich ihr Aussehen ändert, je nachdem welche Einstellungen darin definiert sind. Auf diese Art sehen Sie gleich direkt im Mapping, was die SQL WHERE/ORDER-Komponente tut, z.B.:

 

sql-ord3

Es wurde eine WHERE-Klausel definiert.

sql-ord1

Es wurde eine WHERE-Klausel mit einem Parameter definiert. Der Parameter "Name" ist unterhalb des Parameters "table/field" zu sehen.

sql-ord2

Es wurde eine WHERE-Klausel mit einem Parameter definiert. Zusätzlich dazu wurde eine ORDER BY-Klausel definiert, z.B. ORDER BY Last. Die Sortierreihenfolge wird durch das Sortiersymbol A-Z angezeigt.

 

Wenn Sie den Mauszeiger über die Titelleiste von SQL WHERE/ORDER platzieren, wird ein Popup-Fenster mit den verschiedenen definierten Klauseln angezeigt.


© 2019 Altova GmbH