Definieren von Abfrageergebnissen
Nachdem Sie den Abfrage-Designer geöffnet und die Tabelle oder Ansicht mit den gewünschten Daten ausgewählt haben, können Sie Ihr Abfrageziel definieren. Sie müssen in jedem Fall die gewünschten Felder auswählen. Darüber hinaus können Sie Ihre Ergebnisse definieren, indem Sie die Reihenfolge angeben, in der die Felder angezeigt werden sollen, und einen Filter festlegen, um die anzuzeigenden Datensätze auszuwählen.
Auswählen der gewünschten Felder
Bevor Sie eine Abfrage ausführen können, müssen Sie einige Felder auswählen, auf die sich die Ergebnisse beziehen. In manchen Fällen verwenden Sie möglicherweise alle Felder einer Tabelle oder Ansicht. Ein anderes Mal konzentrieren Sie die Abfrage auf einige ausgewählte Felder, wie z. B. Felder, die in einen Bericht aufgenommen werden sollen.
Stellen Sie sicher, dass Sie alle Felder einbeziehen, die Sie möglicherweise zum Sortieren oder Gruppieren der Ergebnisse Ihrer Abfrage verwenden möchten. Wenn Sie die Felder auswählen, können Sie gleichzeitig die Reihenfolge festlegen, in der sie in der Ausgabe angezeigt werden sollen.
Verwenden Sie die Registerkarte "Felder" im unteren Fensterbereich des Abfrage-Designers, um die Felder auszuwählen, auf die sich die Ergebnisse Ihrer Abfrage beziehen sollen.
So fügen Sie ein Feld zur Abfrageausgabe hinzu
Wählen Sie den Namen des Feldes aus, und wählen Sie den Befehl Hinzufügen.
- Oder -
Ziehen Sie den Feldnamen in die Liste Ausgewählte Felder.
Auswählen aller Felder für die Ausgabe
Wenn Sie sämtliche Felder auswählen möchten, können Sie diese anhand ihres Namens oder durch Verwendung des Sternchens auswählen. Wenn Sie die Felder anhand ihrer Namen auswählen, werden genau diese Namen in die Abfrage eingefügt. Wenn Sie die Abfrage ausführen und danach der Tabelle neue Felder hinzugefügt haben, werden diese neuen Felder in den Ergebnissen nicht berücksichtigt.
Wenn Sie den Platzhalter verwenden, wird das Sternchen in die Abfrage eingefügt und steht stellvertretend für alle Felder, die sich zum Zeitpunkt der Ausführung der Abfrage in der Tabelle befinden. Wenn sich die Tabellenstruktur nach dem Erstellen der Abfrage ändert, werden die neuen Felder ebenfalls in den Abfrageergebnissen angezeigt.
So fügen Sie alle verfügbaren Felder einer Abfrage hinzu
Wählen Sie Alle hinzufügen, um die Felder anhand des Namens hinzuzufügen.
- Oder -
Ziehen Sie das Sternchen am Anfang der Tabelle in die Liste Ausgewählte Felder.
Anzeigen eines Alias für ein Feld
Sie können in Ihren Abfrageergebnissen für bessere Lesbarkeit und mehr Klarheit sorgen, indem Sie den einzelnen Ergebnisfeldern eine aussagekräftige Beschriftung hinzufügen. Beispielsweise möchten Sie anstelle des Feldnamens oder des Ausdrucks "SUM(MaxOrdAmount)" den Begriff "SumMaxOrd" über der Ergebnisspalte anzeigen.
So fügen Sie einem Feld einen Alias hinzu
Geben Sie im Feld Funktionen und Ausdrücke den Feldnamen ein, und geben Sie anschließend AS und den Alias ein, entsprechend dem folgenden Beispiel:
SUM(maxorderamt) AS SumMaxOrd
Wählen Sie Hinzufügen, um das Feld mit dem Alias in die Liste Ausgewählte Felder einzufügen.
Festlegen der Reihenfolge für Ausgabefelder
Die Reihenfolge, in der Felder auf der Registerkarte Felder erscheinen, bestimmt die Reihenfolge der Datenspalten in Ihrer Abfrageausgabe.
So ändern Sie die Spaltenreihenfolge der Abfrageausgabe
- Ziehen Sie das Verschiebekästchen links von einem Feldnamen nach oben oder unten.
Wenn Sie die Reihenfolge ändern möchten, in der Datenzeilen sortiert werden, verwenden Sie die Registerkarte "Sortierung".
Auswählen der gewünschten Datensätze
Die Auswahl der zu suchenden Datensätze ist der entscheidende Schritt, der die Ergebnisse Ihrer Abfrage bestimmt. Mit Hilfe der Registerkarte "Filter" im Abfrage-Designer können Sie die WHERE-Klausel einer Auswahlanweisung formulieren, um Visual FoxPro mitzuteilen, welche Datensätze gesucht und abgerufen werden sollen.
Möglicherweise möchten Sie eine bestimmte Teilmenge von Daten suchen und diese in einem Bericht oder einem anderen Ausgabetyp zusammenstellen: z. B. alle Kunden mit ausstehenden Rechnungen, aus einer bestimmten Region oder mit einer bestimmten Postleitzahl und so weiter. Um nur die gewünschten Datensätze anzuzeigen, geben Sie einen Wert oder einen Wertebereich ein, mit dem die Datensätze verglichen werden.
In Visual FoxPro können Sie die Registerkarte "Filter" verwenden, um anzugeben, welches Feld Sie zum Auswählen von Datensätzen verwenden möchten, eine Vergleichsbedingung auszuwählen und einen Beispielwert einzugeben, mit dem das Feld verglichen werden soll.
So legen Sie einen Filter fest
Wählen Sie in der Liste Feldname ein Feld, das Sie als Grundlage für die Auswahl von Datensätzen verwenden möchten.
Anmerkung Felder vom Typ Objekt und Memo können nicht in einem Filter verwendet werden.
Wählen Sie in der Liste Bedingung den Vergleichstyp aus, der verwendet werden soll.
Geben Sie die Vergleichsbedingung in das Feld Beispiel ein.
- Schließen Sie Zeichenfolgen nur dann in Anführungszeichen ein, wenn die Zeichenfolge mit dem Namen eines Feldes in einer Tabelle der Abfrage identisch ist.
- Falls Sie Datumsangaben verwenden, setzen Sie diese nicht in geschweifte Klammern.
- Setzen Sie vor und hinter einem logischen Literal je einen Punkt (.T.).
- Wenn Sie den Namen eines Feldes aus einer Tabelle in die Abfrage eingeben, erkennt ihn Visual FoxPro als ein Feld.
Wenn Sie Groß- und Kleinschreibung bei der Suche nach Zeichenfolgen unberücksichtigt lassen möchten, wählen Sie die Schaltfläche Gr/Kl.
Wenn Sie die Bedeutung eines logischen Operators umkehren möchten, wählen Sie die Schaltfläche Nicht. Wenn Sie z. B. einen Kunden in allen Bereichen außer Washington suchen möchten, verwenden Sie den Auswahlausdruck des folgenden Beispiels:
Customer.region Not Like WA
Um die Suche weiter einzugrenzen, können Sie auf der Registerkarte Filter noch weitere Filter hinzufügen. Weitere Informationen hierzu finden Sie im Abschnitt Eingrenzen der Suche.
Wenn Sie in Ihrer Abfrage mehr als eine Tabelle oder Ansicht verwenden, können Sie die Datensätze durch das Auswählen einer Verknüpfung erweitern.
Auswählen einer Anzahl oder eines prozentualen Anteils von Datensätzen
Wenn Sie nur eine bestimmte Anzahl oder einen prozentualen Anteil der Datensätze benötigen, die die Anfrage ergeben würde, können Sie im Abfrage- oder Ansichts-Designer auf der Registerkarte Verschiedenes die Eigenschaft Oben verwenden oder der SELECT - SQL-Anweisung eine TOP-Klausel hinzufügen. In einer TOP-Klausel können Sie einen Wert zwischen 1 und 32.767 angeben. Prozentangaben können zwischen 0.001 und 99.99 liegen.
Wenn Sie beispielsweise die 10 Kunden mit den höchsten Bestellsummen auswählen möchten, können Sie mittels GROUP BY auf CUST_ID einen Aggregatdatensatz für jeden Kunden anzeigen und diese Datensätze mit der ORDER BY-Klausel nach ORDER_AMT sortieren. Um wirklich die "Top Ten" zu erhalten, müssen Sie ORDER_AMT in absteigender Folge sortieren, damit die Datensätze mit den höchsten Bestellsummen als Erste in den Ergebnissen auftreten. Verwenden Sie eine aufsteigende Folge, so werden die Ergebnisdatensätze mit zunehmender Bestellsumme sortiert. Die aus der Ergebnismenge ausgewählten ersten Datensätze hätten dann die niedrigsten Werte.
SELECT TOP 10 *;
FROM testdata!customer INNER JOIN testdata!orders ;
ON Customer.cust_id = Orders.cust_id;
GROUP BY Customer.cust_id;
ORDER BY Orders.order_amt DESC
Angeben von Zielen für die Ergebnisse von Abfragen
Mit Hilfe von Klauseln der SELECT - SQL-Anweisung können Sie verschiedene Ziele angeben, um die Ergebnisse der Abfragen zu speichern.
Ziel | Klausel |
---|---|
Separate Tabelle | INTO TABLE mytable |
Array | INTO ARRAY aMyArray |
Temporäre Tabelle | INTO CURSOR mycursor |
Aktives Fenster | TO SCREEN |
Datenblattfenster | Standard, sofern kein anderes Ziel angegeben wird. |
Nachdem die Ergebnisse gespeichert wurden, stehen Ihnen weitere Befehle zur Verfügung, mit denen Sie steuern können, wie die gespeicherten Ergebnisse zum Anzeigen und Drucken integriert werden können.
Siehe auch
Erstellen einer Abfrage | Organisieren von Ergebnissen | Registerkarte "Felder", Abfrage- und Ansichts-Designer | Abfragen mehrerer Tabellen und Ansichten | Aktualisieren von Daten mit Hilfe einer Ansicht | Erstellen von Abfragen