1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Frage zum Zählen

Dieses Thema im Forum "MySQL" wurde erstellt von TheEarl, 24 November 2011.

  1. TheEarl

    TheEarl Neuer Benutzer

    Hallo, ich möchte aus der folgenden Datenbank ermitteln, welcher Benutzer genau zwei Bestellungen hat

    Tabell teilnehmer:
    Code:
    +-----+------------+-----------+-----------------+-------+----------+-----------+
    | tnr | nachname   | vorname   | strasse         | plz   | blz      | ktonr     |
    +-----+------------+-----------+-----------------+-------+----------+-----------+
    |   1 | Battner    | Ralf      | Gelber Weg 16   | 38275 | 37050198 | 102367898 |
    |   2 | Mitz       | Bertold   | Bahnweg 15      | 16845 | 30050000 | 120567456 |
    |   3 | Jäger      | Yvonne    | Rotstraße 7     | 23898 | 30050000 | 130567345 |
    |   4 | Grifftith  | Norbert   | Hasenweg 45     | 56584 | 38070059 | 145654876 |
    |   5 | Betz       | Elke      | Elisenstr. 89   | 53177 | 38070059 | 345987654 |
    |   6 | Gründgens  | Karl      | Breiter Weg 56  | 56295 | 36540046 | 876987432 |
    |   7 | Bach       | Ilka      | Lange Laube 7   | 83739 | 30050000 | 765987432 |
    |   8 | Eisenmann  | Harm      | Alte Mühle 78   | 84405 | 37060590 | 987678543 |
    |   9 | Kelter     | Jan       | Rheinweg 56     | 53474 | 38070059 | 654234765 |
    |  10 | Bachmann   | Anneliese | Ringstraße 8    | 47259 | 36540046 | 176524356 |
    |  11 | Ahmendt    | Hanna     | Neuer Weg 67    | 50858 | 37060590 | 345456567 |
    |  12 | Jacobs     | Günther   | Rahnstr. 67     | 56295 | 38070059 | 765346578 |
    |  13 | Dotzler    | Otto      | Karlsstr. 89    | 46117 | 36549946 | 398726356 |
    |  14 | Sterling   | Ramona    | Luisenweg 7     | 50769 | 37050198 | 765345637 |
    |  15 | Escher     | Merle     | Mainstr. 89     | 59075 | 30050000 | 465374637 |
    |  16 | Borchers   | Inka      | Goethering 8    | 91469 | 30050000 | 984754837 |
    |  17 | Zobel      | Frank     | Kurze Gasse 4   | 84405 | 38070059 | 876764657 |
    |  18 | Zimmermann | Gernot    | Eichenweg 89    | 47929 | 36540046 | 873546372 |
    |  19 | Brödner    | Hans      | Buchenweg 67    | 53229 | 38070059 | 635489273 |
    |  20 | Babbage    | John      | Weizenweg 87    | 56584 | 38070059 | 987364737 |
    |  21 | Coy        | William   | Schillerstr. 63 | 84405 | 38070059 | 764536473 |
    |  22 | Buhl       | Wilhelm   | Veitsweg 69     | 56584 | 38070059 | 653425362 |
    +-----+------------+-----------+-----------------+-------+----------+-----------+
    Tabelle teilnahme:
    Code:
    +-----+-----+
    | tnr | lnr |
    +-----+-----+
    |   1 |   9 |
    |   2 |   1 |
    |   3 |   3 |
    |   3 |   6 |
    |   3 |   9 |
    |   4 |   7 |
    |   5 |   2 |
    |   5 |   8 |
    |   5 |   9 |
    |   6 |   6 |
    |   7 |   2 |
    |   7 |   8 |
    |   7 |   9 |
    |   7 |  11 |
    |   8 |   1 |
    |   8 |   4 |
    |   8 |   7 |
    |   9 |   5 |
    |   9 |   9 |
    |  10 |   5 |
    |  11 |   5 |
    |  11 |   9 |
    |  12 |   4 |
    |  12 |   5 |
    |  12 |   7 |
    |  13 |   1 |
    |  13 |   3 |
    |  13 |   8 |
    |  14 |   1 |
    |  14 |   8 |
    |  15 |   3 |
    |  15 |   7 |
    |  16 |   4 |
    |  16 |   7 |
    |  17 |   2 |
    |  17 |   4 |
    |  17 |   7 |
    |  19 |   3 |
    |  19 |  10 |
    |  20 |   3 |
    |  20 |  10 |
    |  21 |   8 |
    |  21 |  10 |
    +-----+-----+
    Ich hoffe mir kann hier geholfen werden, ich versuch es bereits seit einigen Tagen, aber ich weiß eigentlich auch nicht genau, wonach ich suchen soll

    MFG Earl
     
  2. ukulele

    ukulele Datenbank-Guru

    Irgendwie so müsste es als Abfrage gehen:
    Code:
    SELECT    t.nachname,
            t.vorname,
            count(z.tnr) AS Anzahl
    FROM    teilnehmer t,
            teilnahme z
    WHERE    t.tnr = z.tnr
    GROUP BY t.nachname,t.vorname
    HAVING    count(z.tnr) = 2
    ORDER BY count(z.tnr),t.nachname,t.vorname
    Die HAVING Klausel am besten erstmal weg lassen und sehen ob es geht.
     

Diese Seite empfehlen