Announcement

Collapse
No announcement yet.

Bekomme meine Abfrage nicht hin

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

  • Bekomme meine Abfrage nicht hin

    Servus.

    Vielleicht könnt ihr mir weiter helfen.

    Ich habe eine Tabelle namens "Messwerte". Darin befinden sich folgende Spalten

    AutoInk -> Autoinkrement (fortlaufende Nummer) INT
    Seriennummer -> INT
    Laufnummer -> INT
    ...
    Timestamp

    Die Laufnummer gibt an welcher Durchlauf ein Gerät mit der selben Seriennummer hatte. D.h. eine ID kann mehrmals in der Tabelle auftauchen.

    Ich möchte nun nichts anderes machen, als eine ...
    Code:
    select * from Messwerte ....
    wo jeweils nur die eine Zeile zurückgeben wird, wo die maximale Laufnummer der Seriennummer drinne steht.

    Beispiel:
    Autoink Seriennummer Laufnummer Timestamp
    _________________________________________________
    145 12345 1 15.04.2010 14:25:23
    146 12345 2 16.04.2010 15:23:25

    Bei dem Select Statement soll nur die Zeile mit dem Autoink 146 zurückgegeben werden, da diese mit der selben Seriennummer die höhere Laufnummer hat.


    Habt ihr eine Idee?
    Ich bin langsam am verzweifeln. Das muss doch irgendwie gehen

    Vielen Dank schonmal

  • #2
    [highlight=SQL]
    SELECT *
    FROM Messwerte
    WHERE Autoink IN
    (SELECT MAX(Autoink)
    FROM Messwerte
    GROUP BY Seriennummer)
    [/highlight]
    Liefert Dir für alle Seriennummern den letzen Eintrag.

    Soll es nur für eine Snr sein, einfach das GROUP BY durch
    WHERE Seriennummer = XXX
    ersetzen.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Super, so gehts wirklich. Soll auch für alle Datensätze sein.

      Vielen Dank

      Comment

      Working...
      X