Freigeben über


Reduzieren von Zeilengruppen (Visual Database Tools)

Sie können ein Abfrageergebnis erstellen, in dem jede Ergebniszeile einer kompletten Zeilengruppe aus den ursprünglichen Daten entspricht. Beim Reduzieren von Zeilengruppen sind folgende Punkte zu beachten:

  • Sie können doppelte Zeilen entfernen.   Einige Abfragen erstellen Resultsets mit mehreren identischen Zeilen. Sie können z. B. ein Resultset erstellen, in dem jede Zeile den Namen der Stadt und des Landes bzw. der Region für eine Stadt angibt, in der Autoren ansässig sind. Wenn jedoch mehrere Autoren in einer Stadt ansässig sind, werden mehrere identische Zeilen ausgegeben. Hierfür kann folgende SQL-Anweisung formuliert werden:

    SELECT city, state
    FROM authors
    

    Das von der oben stehenden Abfrage generierte Resultset ist nicht sehr sinnvoll. Wenn in einer Stadt vier Autoren ansässig sind, enthält das Resultset vier identische Zeilen. Da das Resultset nur Spalten für die Stadt und das Land bzw. die Region enthält, können die identischen Zeilen nicht voneinander unterschieden werden. Ein Verfahren zur Vermeidung solcher doppelten Zeilen ist das Einbinden zusätzlicher Spalten, durch die die Zeilen eindeutig werden. Wenn Sie z. B. die Namen der Autoren aufnehmen, ergeben sich eindeutige Zeilen (vorausgesetzt, dass nicht mehrere Autoren mit demselben Namen in einer Stadt leben). Hierfür kann folgende SQL-Anweisung formuliert werden:

    SELECT city, state, fname, minit, lname
    FROM authors
    

    Diese Abfrage umgeht zwar das Problem, löst es jedoch nicht. Das Resultset enthält keine Duplikate, es handelt sich aber auch nicht mehr um ein Resultset, das Aussagen zu Städten liefert. Um sowohl die Duplikate im ursprünglichen Resultset zu entfernen als auch Informationen über Städte zu erhalten, können Sie eine Abfrage erstellen, die ausschließlich eindeutige Zeilen zurückgibt. Hierfür kann folgende SQL-Anweisung formuliert werden:

    SELECT DISTINCT city, state
    FROM authors
    

    Ausführliche Informationen zum Ausschließen von Duplikaten finden Sie unter Vorgehensweise: Ausschließen doppelter Zeilen (Visual Database Tools).

  • Sie können Berechnungen für Zeilengruppen durchführen.   Das heißt, Sie können Informationen in Zeilengruppen zusammenfassen. Sie können z. B. ein Resultset erstellen, in dem jede Zeile die Stadt, das Land bzw. die Region für die Stadt sowie einen in dieser Stadt ansässigen Autoren enthält sowie zusätzlich die Anzahl der in dieser Stadt lebenden Autoren. Hierfür kann folgende SQL-Anweisung formuliert werden:

    SELECT city, state, COUNT(*)
    FROM authors
    GROUP BY city, state
    

    Ausführliche Informationen über Berechnungen in Zeilengruppen finden Sie unter Zusammenfassen von Abfrageergebnissen (Visual Database Tools) und Sortieren und Gruppieren von Abfrageergebnissen (Visual Database Tools).

  • Sie können Auswahlkriterien verwenden, um Gruppen von Zeilen aufzunehmen.   Sie können z. B. ein Resultset erstellen, in dem jede Zeile eine Stadt enthält, in der mehrere Autoren ansässig sind, außerdem das Land bzw. die Region für diese Stadt und zusätzlich die Anzahl der in dieser Stadt ansässigen Autoren. Hierfür kann folgende SQL-Anweisung formuliert werden:

    SELECT city, state, COUNT(*)
    FROM authors
    GROUP BY city, state
    HAVING COUNT(*) > 1
    

    Ausführliche Informationen über das Anwenden von Auswahlkriterien auf Zeilengruppen finden Sie unter Vorgehensweise: Angeben von Bedingungen für Gruppen (Visual Database Tools) und Vorgehensweise: Verwenden von HAVING- und WHERE-Klauseln in derselben Abfrage (Visual Database Tools

Siehe auch

Andere Ressourcen

Angeben von Suchkriterien (Visual Database Tools)
Entwerfen von Abfragen und Ansichten (Visual Database Tools)

Hilfe und Informationen

Informationsquellen für SQL Server 2005