none
SQL-Abfrage mit Unterabfrage?

    Frage

  • Hallo,

    ich habe folgende SQL-Abfrage in Access erstellt:

    SELECT tbl_spieler.name AS Name, Count(tbl_ergebnisse.name) AS Spiele, Sum(tbl_ergebnisse.holz) AS Gesamt, Round(([Gesamt]/[Spiele]),2) AS [Holz/Spiel]
    FROM tbl_spieler INNER JOIN tbl_ergebnisse ON tbl_spieler.id_spieler = tbl_ergebnisse.name
    GROUP BY tbl_spieler.name
    ORDER BY Sum(tbl_ergebnisse.holz) DESC;

    Diese funktioniert. Nun möchte ich dem Count(btl_ergebnisse.name) AS Spiele zusätzlich mit folgender Bedingung

    where tbl_ergebnisse.spielart = 4

    versehen.

    Wie muss ich vorgehen, damit die Abfrage funktioniert?

    Gruß

     

     

     

    Freitag, 28. Oktober 2011 09:17

Antworten

  • Diese funktioniert. Nun möchte ich dem Count(btl_ergebnisse.name) AS Spiele zusätzlich mit folgender Bedingung

    where tbl_ergebnisse.spielart = 4

    versehen.

    Wie muss ich vorgehen, damit die Abfrage funktioniert?


    Es gibt verschiedene Ansätze:

    SELECT tbl_spieler.name AS Name, 
        Sum(IIf(tbl_ergebnisse.spielart = 4, 1, 0)) AS Spiele, 
        Sum(tbl_ergebnisse.holz) AS Gesamt, 
        Round(([Gesamt]/[Spiele]),2) AS [Holz/Spiel] 
    FROM tbl_spieler 
        INNER JOIN tbl_ergebnisse 
            ON tbl_spieler.id_spieler = tbl_ergebnisse.name 
    GROUP BY tbl_spieler.name 
    ORDER BY Sum(tbl_ergebnisse.holz) DESC; 
    
    
    
    

    Das wäre mal einer

     

    Gruß Thomas

     

    Freitag, 28. Oktober 2011 11:30

Alle Antworten

  • Diese funktioniert. Nun möchte ich dem Count(btl_ergebnisse.name) AS Spiele zusätzlich mit folgender Bedingung

    where tbl_ergebnisse.spielart = 4

    versehen.

    Wie muss ich vorgehen, damit die Abfrage funktioniert?


    Es gibt verschiedene Ansätze:

    SELECT tbl_spieler.name AS Name, 
        Sum(IIf(tbl_ergebnisse.spielart = 4, 1, 0)) AS Spiele, 
        Sum(tbl_ergebnisse.holz) AS Gesamt, 
        Round(([Gesamt]/[Spiele]),2) AS [Holz/Spiel] 
    FROM tbl_spieler 
        INNER JOIN tbl_ergebnisse 
            ON tbl_spieler.id_spieler = tbl_ergebnisse.name 
    GROUP BY tbl_spieler.name 
    ORDER BY Sum(tbl_ergebnisse.holz) DESC; 
    
    
    
    

    Das wäre mal einer

     

    Gruß Thomas

     

    Freitag, 28. Oktober 2011 11:30
  • Hallo Thomas,

    danke für Deine Hilfe. Da habe ich doch schon mal einen richtigen Ansatz für die Lösung für mein Problem.

    Gruß

    Freitag, 28. Oktober 2011 12:03