Differenz in ACCESS



  • Ich habe in einer Access Tabelle einen Kumulierenden Wert. In einer Abfrage möchte ich aber nur die Differenz der jeweiligen Datensätze anzeigen. Kann mir hierzu jemand eine lösung geben?



  • Die "GROUP BY"-Klausel könnte dir helfen.



  • Ggf. beschreibe dein Problem etwas genauer, sonst gibt's keine genaueren Antworten. 😉



  • Ich habe dasselbe Problem. Hier die genauere Beschreibung:
    Meine Datensätze enthalten monatliche Zählerstände von diversen Zählern. In einer Abfrage will ich nun den monatlichen Verbrauch errechnen, also die Differenz zwischen dem aktuellen Datensatz und seinem Vorgänger. Eventuell muss für den ersten Datensatz eine Sonderregelung gemacht werden.



  • versuch mal dieses Konstrukt:

    SELECT a.datum, a.messwert-b.messwert AS messwert
    FROM tabelle AS a, tabelle AS b
    WHERE b.datum < a.datum
         OR  (b.datum= a.datum AND b.ID < a.ID) 
         AND NOT EXISTS (SELECT * 
                         FROM   tabelle AS btwn 
                         WHERE  btwn.datum < a.datum
                         AND    b.datum < btwn.datum)
      AND a.geraet = <geräteid>
    

    du benötigst hierbei eine eindeutige, aufsteigende ID in der Tabelle

    alternativ wäre auch ein LEFT JOIN möglich, allerdings scheint ACCESS nicht mit mehreren JOIN-Bedingungen klarzukommen


Anmelden zum Antworten