Announcement

Collapse
No announcement yet.

Probleme mit SQL-Abfrage, eigentlich SIMPELST

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit SQL-Abfrage, eigentlich SIMPELST

    Hallo Zusammen,

    habe ein kleines Problem mit folgender Aufgabenstellung als Beispiel (in Realität etwas anderes, spielt aber keine Rolle):

    - habe eine Tabelle mit Kunden
    - habe eine Tabelle mit Bestellungen

    Ich möchte nun z.B. die Kunden <b>zählen</b>, welche mind. 10 und max. 20 Bestellungen gemacht haben.

    Das heißt ich möchte nur eine Zahl zurückbekommen, nämlich die Anzahl der Kunden welche "dazwischen" liegen, gar nicht mehr (z.b. Kundendaten etc.).

    Primärschlüssel sind natürlich vorhanden:
    - UserID
    - BestellID

    Und da ich gerade irgendwie ein Blackout habe und sowas noch nie gebraucht habe in Vergangenheit geht bei mir gerade garnichts.

    Hoffe auf Hilfe..

    Gruß,
    Mike

  • #2
    Habs raus, trotzdem Danke

    SELECT COUNT(DISTINCT UserID) FROM Bestellungen HAVING COUNT(BestellID) > 5

    Comment


    • #3
      Hallo Mike,

      es würde mich sehr wundern wenn Dein Select korrekt funktioniert.

      So sollte es wie gewünscht funktionieren:
      <pre>
      select count(distinct userid) from Bestellungen
      where userid in (SELECT UserID FROM Bestellungen
      group by UserID
      having count(UserID) > 5)

      oder

      select count(distinct b1.userid) from bestellungen b1
      where exists (SELECT count(UserID) FROM Bestellungen
      where userid = b1.userid and having count(UserID) > 5)
      </pre>

      Entscheidend ist das "Group by" in dem SubSelect der Where-Klausel.

      Gruß

      Torste

      Comment

      Working...
      X