Announcement

Collapse
No announcement yet.

Maximum von Summe

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

  • Maximum von Summe

    Ich habe zwei Tabellen (Mieter und Belegung)
    In der Tabelle Mieter ist der Nachname interessant, in der Tabelle Belegung sollen die Mieteinahmen pro Mieter zusammenaddiert weder und die Höchste Summe ausgewählt werden.
    Die Höchste Summe wollte ich auf diesen Weg ermitteln: SELECT TOP 1 Max(UA.Summe) AS MaxvonSumme
    FROM (Select Belegung.MieterNr AS MNR, Sum(Belegung.Mietpreis) As Summe From Belegung Group By Belegung.MieterNr ORDER BY Sum(Belegung.Mietpreis) DESC) AS UA;

    Das ganze Verbinden und mit einer Where-Bedingung Filtern

    SELECT Mieter.Nachname, Sum(Belegung.Miete),
    Count(*) As Anzahl
    From Belegung, Mieter
    Where
    Sum(Belegung.Miete) = (
    SELECT TOP 1 Max(UA.Summe) AS MaxvonSumme
    FROM (Select Belegung.MieterNr AS MNR, Sum(Belegung.Mietpreis) As Summe From Belegung Group By Belegung.MieterNr ORDER BY Sum(Belegung.Mietpreis) DESC) AS UA);

    Funktioniert nicht und ich habe irgendwo einen Denkfehler.


  • #2
    Also erstmal:
    Du kannst hier gerne Code Tags benutzen, das kann man leichter lesen.

    Dann
    "Funktioniert nicht" ist keine Fehlerbeschreibung. Was geschieht und was erwartest Du statt dessen?
    Fehlertext kann man mit per copy paste hier eintragen.


    Dann
    niemand kennt Deine Daten. Mehr als eine grobe Plausibilitätsprüfung kann auf die Art, keiner liefern.

    Ein Fehler scheint mir jedenfalls der fehlende Join von Belegung und Mieter im 2. Statement. Oder möchtest du ja über alles permutieren?
    Ein weiterer Fehler steckt im SUM() der Where Clause, das geht nicht.

    Ein Join über ein Aggregat ist auch generell etwas gewagt. Aber Du kannst ja erstmal Join und Summenbildung korrigieren.
    Gruß, defo

    Comment

    Working...
    X