Verschachtelte SQL-Abfrage in MS Access

Dieses Thema Verschachtelte SQL-Abfrage in MS Access im Forum "Microsoft Office Suite" wurde erstellt von Littlegreenman, 2. Juli 2005.

Thema: Verschachtelte SQL-Abfrage in MS Access Ich habe mir ein Fahrtenbuch mit MS Access erstellt und bin gerade dabei, ein paar SQL-Abfragen zu basteln. Darunter...

  1. Ich habe mir ein Fahrtenbuch mit MS Access erstellt und bin gerade dabei, ein paar SQL-Abfragen zu basteln. Darunter auch eine Übersicht, in der die wichtigsten Dinge zusammengefasst werden sollen. Leider bin ich an einem Punkt angekommen, an dem ich nicht mehr weiter weiß. Vielleicht kann mir jemand einen Tipp geben.

    Problem:
    Ich habe eine Tabelle Fahrtenbuch, welche auch die Spalte Typ enthält. In dieser Spalte ist festgelegt, ob es sich um eine betriebliche oder eine private Fahrt mit meinem KFZ handelte. Die Einträge können entsprechend betrieblich oder privat lauten.

    Nun möchte ich eine SQL-Abfrage erstellen, die mir die Anzahl aller Fahrten und gleichzeitig auch die Anzahl aller betrieblichen und die Anzahl aller privaten Fahrten in einem Rutsch ausgibt. Wie bekomme ich das in Access hin?

    Das Ergebnis soll dann ungefähr so aussehen:

    Alle_Fahrten   Betriebliche Fahrten   Private_Fahrten
    146                 100                            46

    Bisher lautet meine SQL-Abfrage:

    SELECT COUNT(*) AS Alle_Fahrten
    FROM Fahrtenbuch;

    Damit habe ich zunächst einmal die Anzahl aller Fahrten auf dem Bildschirm. Mit einer zusätzlichen WHERE-Bedingung würde ich mich auf alle Fahrten beziehen, daher müsste ich hier vermutlich mit einer verschachtelten Abfrage arbeiten. In der Access-Hilfe habe ich leider keine Antwort gefunden.

    Danke schon mal für alle Tipps!
     
  2. Versuch es mal mit der Abfrage-Funktion von ACCESS, dahinter steht dann die SQL-Anweisung.

    Gruß
    Kurt Körner
     
  3. Eine gute Lösung hierfür ist eine UNION-Abfrage. Das Feld ID bezieht sich auf die Autowert-Spalte mit dem PrimaryKey in der Fahrtenbuch-Tabelle. Die Bedingungen Privat und Betrieb müssen den Einträgen unter Typ in der Tabelle entsprechen.

    Der Code kann in einer neuen Abfrage in der Entwurfsansicht in das SQL-Fenster kopiert werden:

    SELECT Fahrtenbuch.Typ, Count(Fahrtenbuch.ID) AS Anzahl
    FROM Fahrtenbuch
    GROUP BY Fahrtenbuch.Typ
    HAVING (((Fahrtenbuch.Typ)=privat));
    UNION ALL
    SELECT Fahrtenbuch.Typ, Count(Fahrtenbuch.ID) AS Anzahl
    FROM Fahrtenbuch
    GROUP BY Fahrtenbuch.Typ
    HAVING (((Fahrtenbuch.Typ)=betrieb));
    UNION ALL
    SELECT Alle_Fahrten AS Typ, Count(Fahrtenbuch.ID) AS Anzahl
    FROM Fahrtenbuch
    GROUP BY Alle_Fahrten;
     
Die Seite wird geladen...

Verschachtelte SQL-Abfrage in MS Access - Ähnliche Themen

Forum Datum
Excel 2003 Verschachtelte Wenn-Funktion Microsoft Office Suite 30. Jan. 2009
Excel: Verschachtelte WENN-Abfragen anschaulich darstellen? Microsoft Office Suite 7. Dez. 2005
xml,xsl: Verschachtelte Elemente - was mache ich falsch? Webentwicklung, Hosting & Programmierung 20. Juli 2005
Unsichtbare Textmarken in Word-Dokumentenvorlage + Felder mit Verschachtelten IF Microsoft Office Suite 19. Mai 2005
verschachtelte Wenn Funktion in Excel Microsoft Office Suite 16. Nov. 2004