Hi Susann,
select max (Winner.Anzahl)
from (select count(kundennr) as Anzahl, kundennr, kundenname, Ort
from dbo.Vorgang, dbo.kunde
where Vorgang.kundenid = kunde.kundennr
group by kundennr, kundenname, Ort) as WinnerDas funktioniert und gibt mir die Anzahl der Einkäufe des Kunden mit der größten Menge aus.
Jetzt möchte ich "nur" noch den Kundennamen hinzufügen und das schaffe ich nicht. Füge ich in der esten Zeile
Das, was Du willst, ist im Grunde etwas voellig anderes, als das, was Du tust. Du willst eine bestimmte Zeile der Tabelle Winner, naemlich die mit dem maximalen Wert in Anzahl. Bei Deiner Abfrage gruppierst Du (automatisch durch das Anwenden von max(...) ohne explizite Gruppierung) aber ueber alle Zeilen und das, was Du kriegst, ist nicht der Inhalt einer besimmten Zeile der Tabelle Winner. Daher kannst Du auch nicht einen bestimmten Eintrag von Kundennummer kriegen.
Was Du moechtest ist in etwa:
SELECT Anzahl, kundennr FROM [Tabelle WINNER]
WHERE Anzahl = [das Maximum ueber alle Anzahl-Eintraege in Winner]
Wie Du die Inhalte der eckigen Klammern hinbekommst, weisst Du ja bereits.
Ausserdem:
1. Deine Spalten- und Tabellennamen sind recht unuebersichtlich gewaehlt: mal gross-, mal kleingeschrieben. Das wuerde ich ueberdenken.
2.
DB ist SQL-Server.
Meinst Du MySQL-Server?
Viele Gruesse
der Bademeister