probleme mit der MAX funktion + rückgabe

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • probleme mit der MAX funktion + rückgabe

    hi zusammen

    ich hab ein problem bei einer abfrage :(

    hier der Code

    Quellcode

    1. SELECT [Artikel],max(Position)
    2. FROM [meineDatenbank]
    3. WHERE Phase='Q2' AND Datum < (SELECT GETDATE() - 7)
    4. GROUP BY [Artikel]
    5. ORDER BY [Artikel]


    es sollen quasi alle artikel gefunden werden, die in Phase 'Q2' sind älter als 7 tage und den maximal wert haben
    zum verständnis
    jede phase bekommt eine Position

    Phase Position
    A1 1
    E2 2
    Q2 3
    A1 4
    Q2 5

    ich darf den artikel nur nehmen wenn Q2 max(position) ist

    der code macht die abfrage wunderbar
    leider darf ich nur den artikel als ausgabe bekommen :(
    so wie es jetzt ist bekomme ich artikel + max(position)

    wie mach ich das?

    danke und gruß im vorraus :)
  • wow das ging aber flux :D
    danke schonmal für die schnelle antwort

    mein problem ist das ich hier

    Quellcode

    1. SELECT [Artikel],max(Position)
    2. FROM [meineDatenbank]
    3. WHERE Phase='Q2' AND Datum < (SELECT GETDATE() - 7)
    4. GROUP BY [Artikel]


    [Artikel] und max(Position) zurückbekomme

    woher kommt bei deiner having klausel der "wert" ?
    wenn ich das ganze so schreibe

    Having Position = max(Position)

    bekomm ich den Fehler

    Spalte ist in der HAVING-Klausel ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten ist

    vielleicht muss ich ja auch den ganzen befehl umschreiben :?

    auf jeden fall brauche ich alle artikel die älter als sieben tage sind und deren letzte position maximal + q2 ist

    danke wieder im vorraus :)